# Set root logger level to ERROR and its only appender to R. log4j.rootLogger = INFO,R# R is set to be a DailyRollingFileAppender. log4j.appender.R = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.R.File = Application.log log4j.appender.R.DatePattern = yyyy-MM-dd'.log' log4j.appender.R.layout = org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
对照上面的配置,把日志文件的命名再细分一点就ok了。 比如精确到秒,那么每次启动的时候必然创建的是一个新文件。 log4j.appender.R.DatePattern = yyyy-MM-dd-HH-mm-ss.logDailyRollingFileAppender是可以支持每分钟就生成一个日志文件的。org.apache.log4j.DailyRollingFileAppender的源代码如下:void printPeriodicity(int type) { switch(type) { case TOP_OF_MINUTE: LogLog.debug("Appender ["+name+"] to be rolled every minute."); break; case TOP_OF_HOUR: LogLog.debug("Appender ["+name +"] to be rolled on top of every hour."); break; case HALF_DAY: LogLog.debug("Appender ["+name +"] to be rolled at midday and midnight."); break; case TOP_OF_DAY: LogLog.debug("Appender ["+name +"] to be rolled at midnight."); break; case TOP_OF_WEEK: LogLog.debug("Appender ["+name +"] to be rolled at start of week."); break; case TOP_OF_MONTH: LogLog.debug("Appender ["+name +"] to be rolled at start of every month."); break; default: LogLog.warn("Unknown periodicity for appender ["+name+"]."); } }
? org.apache.log4j.ConsoleAppender,将日志信息输出到控制台
? org.apache.log4j.FileAppender,将日志信息输出到一个文件
? org.apache.log4j.DailyRollingFileAppender,将日志信息输出到一个,并且每天输出到一个新的日志文件
? org.apache.log4j.RollingFileAppender,将日志信息输出到一个文件,通过指定文件的的尺寸,当文件大小到达指定尺寸的时候会自动把文件改名,如名为example.log的文件会改名为example.log.1,同时产生一个新的example.log文件。如果新的文件再次达到指定尺寸,又会自动把文件改名为example.log.2,同时产生一个example.log文件。依此类推,直到example.log. MaxBackupIndex,MaxBackupIndex的值可在配置文件中定义。
# Set root logger level to ERROR and its only appender to R.
log4j.rootLogger = INFO,R# R is set to be a DailyRollingFileAppender.
log4j.appender.R = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.R.File = Application.log
log4j.appender.R.DatePattern = yyyy-MM-dd'.log'
log4j.appender.R.layout = org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
阿敏的方法只是每天出一个.
顺便问一下,这个做什么用呢?
这个是动态地修改Appender的输出文件然后你只需要每次有新的连接到Server的时候调用这个代码就可以了
:)
比如精确到秒,那么每次启动的时候必然创建的是一个新文件。
log4j.appender.R.DatePattern = yyyy-MM-dd-HH-mm-ss.logDailyRollingFileAppender是可以支持每分钟就生成一个日志文件的。org.apache.log4j.DailyRollingFileAppender的源代码如下:void printPeriodicity(int type) {
switch(type) {
case TOP_OF_MINUTE:
LogLog.debug("Appender ["+name+"] to be rolled every minute.");
break;
case TOP_OF_HOUR:
LogLog.debug("Appender ["+name
+"] to be rolled on top of every hour.");
break;
case HALF_DAY:
LogLog.debug("Appender ["+name
+"] to be rolled at midday and midnight.");
break;
case TOP_OF_DAY:
LogLog.debug("Appender ["+name
+"] to be rolled at midnight.");
break;
case TOP_OF_WEEK:
LogLog.debug("Appender ["+name
+"] to be rolled at start of week.");
break;
case TOP_OF_MONTH:
LogLog.debug("Appender ["+name
+"] to be rolled at start of every month.");
break;
default:
LogLog.warn("Unknown periodicity for appender ["+name+"].");
}
}