系統(tǒng)可能出現(xiàn)某些問題,我們就需要將相關(guān)的日志打印出來,就需要修改日志級(jí)別。一般情況下,都需要重啟程序,但是有時(shí)候在線上要求不能重啟服務(wù),就需要?jiǎng)討B(tài)加載配置文件。
第一種方式:利用Log4j的定時(shí)掃描功能。Log4j會(huì)自動(dòng)掃描配置文件,默認(rèn)1分鐘。
public void log4jConfigAndWatch(){ String configFilename = JFWebConfig.class.getClassLoader().getResource("").getPath() + "log4j.PRoperties"; PropertyConfigurator.configureAndWatch(configFilename); }#log4j.rootLogger=error,stdout,info,debug,errorlog4j.rootCategory=ERROR,stdout,info,debug,errorlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n log4j.logger.info=infolog4j.appender.info=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.info.layout=org.apache.log4j.PatternLayoutlog4j.appender.info.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%nlog4j.appender.info.datePattern='.'yyyy-MM-dd'.log'log4j.appender.info.Threshold = INFO log4j.appender.info.append=truelog4j.appender.info.File=${catalina.base}/logs/info log4j.logger.debug=debuglog4j.appender.debug=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.debug.layout=org.apache.log4j.PatternLayoutlog4j.appender.debug.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%nlog4j.appender.debug.datePattern='.'yyyy-MM-dd'.log'log4j.appender.debug.Threshold = DEBUG log4j.appender.debug.append=truelog4j.appender.debug.File=${catalina.base}/logs/debuglog4j.logger.error=errorlog4j.appender.error=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.error.layout=org.apache.log4j.PatternLayoutlog4j.appender.error.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%nlog4j.appender.error.datePattern='.'yyyy-MM-dd'.log'log4j.appender.error.Threshold = ERROR log4j.appender.error.append=truelog4j.appender.error.File=${catalina.base}/logs/error第二種方式:利用jvm的屬性,動(dòng)態(tài)加載。
啟動(dòng)的時(shí)候添加環(huán)境屬性-Dlog4j.level=error通過修改JVM的系統(tǒng)屬性即可。或者tomcat的catalina.bat[windows]/catalina.sh[linux]添加jvm屬性java_OPTS="-server -Xms256m -Xmx1024m -Dlog4j.level=error"[linux]set JAVA_OPTS= -DMYFLAG=2 [windows]#log4j.rootLogger=error,stdout,info,debug,errorlog4j.rootCategory=${log4j.level},stdout,info,debug,errorlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n log4j.logger.info=infolog4j.appender.info=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.info.layout=org.apache.log4j.PatternLayoutlog4j.appender.info.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%nlog4j.appender.info.datePattern='.'yyyy-MM-dd'.log'log4j.appender.info.Threshold = INFO log4j.appender.info.append=truelog4j.appender.info.File=${catalina.base}/logs/info log4j.logger.debug=debuglog4j.appender.debug=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.debug.layout=org.apache.log4j.PatternLayoutlog4j.appender.debug.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%nlog4j.appender.debug.datePattern='.'yyyy-MM-dd'.log'log4j.appender.debug.Threshold = DEBUG log4j.appender.debug.append=truelog4j.appender.debug.File=${catalina.base}/logs/debuglog4j.logger.error=errorlog4j.appender.error=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.error.layout=org.apache.log4j.PatternLayoutlog4j.appender.error.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%nlog4j.appender.error.datePattern='.'yyyy-MM-dd'.log'log4j.appender.error.Threshold = ERROR log4j.appender.error.append=truelog4j.appender.error.File=${catalina.base}/logs/errorSystem.setProperty("log4j.level", 你的level);String configFilename = ToolsController.class.getClassLoader().getResource("").getPath() + "log4j.properties";PropertyConfigurator.configure(configFilename);
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注