在项目开发时经常会用到第三方的代码包,当我们在代码重用时注意,像这种开源的第三方类的修改是不受控的,直接应用它时,留下了隐患。
应将其隐藏尽量避免其在项目代码中扩散,遵守“开扩展,闭修改”原则。组合、代理都是很好的方式。
Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。并可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。由于其用途的强大和简易,在开发中被经常使用,如下下面这段代码:
import java.net.InetAddress;
import java.net.UnknownHostException;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.apache.log4j.MDC;
import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.xml.DOMConfigurator;
public final class LogConfig
{
private static LogConfig lconfig = null;
public Logger mart_log = null; // 组合,
...
上面显示了LogConf