仅仅是为了总结与学习。
一直对log4j的配置不是很了解,前段时间专门研究了下。
log4j的properties文件如下:
1 log4j.rootCategory=INFO 2 3 #制定test包名 4 log4j.logger.test=INFO, TestLog 5 #RollingFileAppender 6 log4j.appender.TestLog=org.apache.log4j.RollingFileAppender 7 #文件路径 8 log4j.appender.TestLog.File=E:/log/${CurrDate}/testLog_${CurrDate}.txt 9 #最大文件大小 10 log4j.appender.TestLog.maxFileSize=1MB 11 #文件尾部添加日志信息 12 log4j.appender.TestLog.Append=true 13 #文件的最大数量 14 log4j.appender.TestLog.MaxBackupIndex=100 15 #布局模式 16 log4j.appender.TestLog.layout=org.apache.log4j.PatternLayout 17 #布局样式 18 log4j.appender.TestLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %t - %m%n 19 20 #%d 日期Date 21 #%t 线程Thread 22 #%m 内容Message 23 #%n 换行符NewLine
java代码如下:
1 package test.logtest; 2 import java.io.FileNotFoundException; 3 import java.io.IOException; 4 import java.util.Properties; 5 6 import org.apache.commons.logging.Log; 7 import org.apache.commons.logging.LogFactory; 8 import org.apache.log4j.PropertyConfigurator; 9 10 11 public class LogTest { 12 13 /** 14 * Log Test 15 * @throws IOException 16 * @throws FileNotFoundException 17 */ 18 public static void main(String[] args) throws FileNotFoundException, IOException { 19 Log logger = LogFactory.getLog(LogTest.class); 20 Properties p = new Properties(); 21 //替换properties的变量 22 p.setProperty("CurrDate", "20150102"); 23 p.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("log4j.properties")); 24 PropertyConfigurator.configure(p); 25 for (int i=0; i<10000; i++) { 26 //为了尽可能多的打印日志,输出下列的日志信息 27 logger.info("Apache Log4j 2 is an upgrade to Log4j that provides significant improvements over its predecessor," 28 +" Log4j 1.x, and provides many of the improvements available in Logback " 29 +"while fixing some inherent problems in Logback's architecture."); 30 } 31 32 } 33 34 }
运行效果图如下:


浙公网安备 33010602011771号