log4j動態配置參數


特別提示:本人博客部分有參考網絡其他博客,但均是本人親手編寫過並驗證通過。如發現博客有錯誤,請及時提出以免誤導其他人,謝謝!歡迎轉載,但記得標明文章出處: http://www.cnblogs.com/mao2080/

1、問題描述

一般log4j的使用都是在log4j.properties文件中指定配置參數,然后框架自動初始化,但是有些特殊的情況需要寫程序手動初始化,並為它傳遞參數,如日志文件的存放位置要配置成可變,文件大小也要可變等等。如果用配置文件來指定,系統初始化log4j后就不能再改變了。
log4j提供了動態參數配置的功能,程序只需要在使用log記錄器寫日子之前重新使配置生效即可,具體為:
1. 用Properties保存配置參數。
2. 用PropertyConfigurator來是配置生效。

2、配置參數

Properties pro=new Properties();
pro.put("log4j.rootLogger", "info,A");
pro.put("log4j.appender.A", "org.apache.log4j.DailyRollingFileAppender");
pro.put("log4j.appender.A.File", "D:/logs/sys.log");
pro.put("log4j.appender.A.DatePattern", "'.'yyyy-MM-dd-HH");
pro.put("log4j.appender.A.layout", "org.apache.log4j.PatternLayout");
pro.put("log4j.appender.A.layout.ConversionPattern", "%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m -(:%L)%n");

3、使配置生效

PropertyConfigurator.configure(pro);


也可以預先指定多個配置文件,然后在configure(path)的path指定配置文件
初始配置可以在靜態塊中執行這段代碼,
當需改變配置是,執行這段代碼使更改生效。

4、參考網站

http://blog.csdn.net/wangjie5540/article/details/41897301


免責聲明!

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



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