娉ㄦ剰錛氭湰鏂囪鍒扮殑log4j鐗堟湰涓?.2.15錛屼嬌鐢ㄧ殑閰嶇疆鏂囦歡鏄睘鎬ф枃浠訛紙properties錛夛紝濡傛灉榪欎簺涓庢偍鐨勭幆澧冧笉絎﹀垯璇峰揩閫熺寮錛屼互鍏嶈借浣犵殑瀹濊吹鏃墮棿銆?/p>
涓.log4j鍦ㄦ闈㈢▼搴忎腑鐨勯厤緗?/strong>
榪欎釜鐩稿綆鍗曚簡錛屽畠鐨勬楠ゅ氨榪欐牱涓ゆ錛?/p>
1錛夊皢log4j-1.2.15.jar寮曞叆鍒板伐紼嬬殑lib鐩綍涓?
2錛夌‘淇濋厤緗枃浠秎og4j.properties鍦ㄧ▼搴忕殑浠g爜鐩綍(濡俿rc鐩綍,cfg鐩綍)涓?瀹冪紪璇戝悗搴旇浣嶄簬綾昏礬寰刢lasses涓?
log4j.properties紺轟緥錛堝彲浠ユ嫹璐濅嬌鐢級錛?/p>
- log4j.rootLogger=debug, stdout, R
-
- log4j.appender.stdout=org.apache.log4j.ConsoleAppender
- log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-
- # Pattern to output the caller's file name and line number.
- log4j.appender.stdout.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
- log4j.appender.R=org.apache.log4j.RollingFileAppender
- log4j.appender.R.File=杈撳嚭log鏂囦歡.log
-
- log4j.appender.R.MaxFileSize=1000KB
- # Keep one backup file
- log4j.appender.R.MaxBackupIndex=1
-
- log4j.appender.R.layout=org.apache.log4j.PatternLayout
- log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
瑕佸榪欎釜鏂囦歡榪涜淇敼鐨勮瘽錛屽熀鏈笂鏀逛袱涓湴鏂瑰氨琛屼簡銆?/span>
涓涓槸杈撳嚭鏂囦歡鍚嶇О錛屼竴涓槸杈撳嚭絳夌駭璁劇疆銆?/span>
1) 杈撳嚭鏂囦歡鍚嶇О:
log4j.appender.R.File=杈撳嚭log鏂囦歡.log
2) 杈撳嚭絳夌駭:
log4j.rootLogger=debug, stdout, R
Debug璇存槑鍙鏄痩ogger.debug浠ヤ笂鐨勯兘璁板綍
閰嶇疆鍒拌繖閲岋紝灝辯粨鏉熶簡銆備笅闈㈣鐪嬪浣曞湪紼嬪簭涓嬌鐢╨og4j銆?/p>
浜?log4j鐨勪嬌鐢?/strong>
1) 棣栧厛錛岄偅涓被瑕佺敤鍒發og4j璁板綍鏃ュ織錛屽氨搴旇涓虹被娣誨姞涓涓潤鎬佺殑鎴愬憳鍙橀噺loogger錛岀ず渚嬪涓嬶細
- public class Main{
- private static Logger logger = Logger.getLogger(Main.class);
-
- public static void main(String[] args){
- logger.info("鎴愬憳綆$悊紼嬪簭鍚姩");
- new MemberMngCtrl();
- }
- }
2) 鍏舵錛屼綘灝卞彲浠ヤ嬌鐢╨ogger.debug ,logger.info, logger.warn, logger.error, logger.fatal絳夊嚱鏁?璁板綍絳夌駭渚濇鎻愰珮)鏉ヨ褰曟棩蹇楀唴瀹逛簡錛岀‘瀹炴槸寰堢畝鍗曟柟渚跨殑銆?br />
涓?log4j鍦╓eb宸ョ▼涓殑閰嶇疆
涓庢闈㈢▼搴忎竴鏍風殑鏄紝properties鏂囦歡涔熼渶瑕佽兘琚紪璇戝埌classes錛圵EB-INF/classes/錛変腑錛屽緩璁皢灞炴ф枃浠舵斁鍦ㄧ壒瀹氱殑鐩綍涓嬪茍璁劇疆涓烘簮鐮佺洰褰曪紝鍙﹀鏀懼湪WEB-INF\src涓嬩篃涓嶉敊銆?/p>
榪欎竴姝ユ瘮鍓嶉潰紼嶅鐨勬槸闇瑕侀厤緗竴涓垵濮嬪寲log4j鐨刬nitServlet錛屽氨鏄湪涓寮濮嬪氨鍚姩鐨凷ervlet錛屼唬鐮佸涓嬶細
- public class Log4jInit extends HttpServlet {
- private static final long serialVersionUID = -4499302208753939187L;
- static Logger logger = Logger.getLogger(Log4jInit.class);
-
- public void init(ServletConfig config) throws ServletException {
- String prefix = config.getServletContext().getRealPath("/");
- String file = config.getInitParameter("log4j");
- String filePath = prefix + file;
- Properties props = new Properties();
-
- try {
- FileInputStream istream = new FileInputStream(filePath);
- props.load(istream);
- istream.close();
-
- String logFile = prefix + props.getProperty("log4j.appender.R.File");
- props.setProperty("log4j.appender.R.File",logFile);
-
-
- PropertyConfigurator.configure(props);
- } catch (IOException e) {
- System.out.println("Could not read configuration file [" + filePath + "].");
- System.out.println("Ignoring configuration file [" + filePath + "].");
- return;
- }
- }
- }
鐒跺悗錛屽湪Web.xml涓厤緗竴涓嬶紝璁╁畠鍦ㄤ竴寮濮嬪惎鍔ㄥ氨鍙互浜嗐?/font>
-
- <servlet>
- <servlet-name>log4j-init</servlet-name>
- <servlet-class>
- com.sitinspring.action.Log4jInit
- </servlet-class>
- <init-param>
- <param-name>log4j</param-name>
- <param-value>WEB-INF/classes/log4j.properties</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
鍏ㄦ枃瀹屻?/font>

]]>