log4j配置文件动态指定日志文件名称
我们在项目当中经常会使用log4j进行日志记录,偶尔会遇到一些要求,比如日志文件名称按照启动参数动态配置,而不去修改log4j.xml,比较简单的一种做法是,通过设置系统属性的方式实现,代码:
1 if(args.length>=0){ 2 System.setProperty("log4fFile", args[0]); 3 }else{ 4 System.setProperty("log4fFile","log/runtime.log"); 5 }
xml配置:
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 3 <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 4 <appender name="file_daily" class="org.apache.log4j.DailyRollingFileAppender"> 5 <param name="File" value="${log4fFile}" /> 6 <param name="DatePattern" value="'daily.'yyyy-MM-dd'.log'" /> 7 <layout class="org.apache.log4j.PatternLayout"> 8 <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss/} %-5p] [%t] (%c:%L) - %m%n" /> 9 </layout> 10 </appender> 11 12 <appender name="console" class="org.apache.log4j.ConsoleAppender"> 13 <layout class="org.apache.log4j.PatternLayout"> 14 <param name="ConversionPattern" 15 value="%d{yyyy-MM-dd HH:mm:ss} %-5p: %m%n" /> 16 </layout> 17 </appender> 18 19 <root> 20 <priority value="INFO" /> 21 <appender-ref ref="file_daily" /> 22 <appender-ref ref="console" /> 23 </root> 24 25 </log4j:configuration>
通过以上这种方式配置就可以达到目的。
posted on 2016-01-13 20:01 jessezeng 阅读(8261) 评论(0) 编辑 收藏 举报