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>  

通過以上這種方式配置就可以達到目的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM