原文:
在项目应用中用log4j是件很平常的事情,只要在程序跑的时候初始log4j就ok了,这里关键是让log4j找到log4j.properties 或log4j.xml 文件。如果有这样的需求,希望log4j的输出文件可以让用户指定,那怎么办呢?很明显我们应该想到的是通过读取配置文件,配置文件是用户可以更改的。当然如果直接暴露log4j.properties(log4j.xml)给用户,也是可以的,但这不是最理想的,而且也不能让用户看到那么他不需要的资讯。由此我们想到的是让用户设置简单的配置文件,然后通过程序读取该配置文件来完成设置log4j。
例子:
- import java.util.Properties;
- import org.apache.log4j.Logger;
- import org.apache.log4j.PropertyConfigurator;
- public class MyApp {
- static Logger logger = Logger.getLogger(MyApp.class.getName());
- public static void main(String[] args) {
- Properties properties = new Properties();
- properties.setProperty("log4j.rootCategory", "debug, R");
- properties.setProperty("log4j.appender.R",
- "org.apache.log4j.RollingFileAppender");
- properties.setProperty("log4j.appender.R.File", "c:/mo.log");//
- properties.setProperty("log4j.appender.R.MaxFileSize", "1024");// 去掉K,只忍数字
- properties.setProperty("log4j.appender.R.MaxBackupIndex", "2");
- properties.setProperty("log4j.appender.R.layout",
- "org.apache.log4j.PatternLayout");
- properties.setProperty("log4j.appender.R.layout.ConversionPattern",
- "%p %t %c - %m%n");
- PropertyConfigurator.configure(properties);
- logger.debug("Entering application.");
- logger.info("Exiting application.");
- }
- }
阅读(1170) | 评论(0) | 转发(0) |