关于Log4j不重启重新加载配置文件
2017-02-15 16:19
555 查看
系统可能出现某些问题,我们就需要将相关的日志打印出来,就需要修改日志级别。一般情况下,都需要重启程序,但是有时候在线上要求不能重启服务,就需要动态加载配置文件。第一种方式:利用Log4j的定时扫描功能。Log4j会自动扫描配置文件,默认1分钟。
public void log4jConfigAndWatch(){ String configFilename = JFWebConfig.class.getClassLoader().getResource("").getPath() + "log4j.properties"; PropertyConfigurator.configureAndWatch(configFilename); }
#log4j.rootLogger=error,stdout,info,debug,error log4j.rootCategory=ERROR,stdout,info,debug,error log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n log4j.logger.info=info log4j.appender.info=org.apache.log4j.DailyRollingFileAppender log4j.appender.info.layout=org.apache.log4j.PatternLayout log4j.appender.info.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n log4j.appender.info.datePattern='.'yyyy-MM-dd'.log' log4j.appender.info.Threshold = INFO log4j.appender.info.append=true log4j.appender.info.File=${catalina.base}/logs/info log4j.logger.debug=debug log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender log4j.appender.debug.layout=org.apache.log4j.PatternLayout log4j.appender.debug.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n log4j.appender.debug.datePattern='.'yyyy-MM-dd'.log' log4j.appender.debug.Threshold = DEBUG log4j.appender.debug.append=true log4j.appender.debug.File=${catalina.base}/logs/debug log4j.logger.error=error log4j.appender.error=org.apache.log4j.DailyRollingFileAppender log4j.appender.error.layout=org.apache.log4j.PatternLayout log4j.appender.error.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n log4j.appender.error.datePattern='.'yyyy-MM-dd'.log' log4j.appender.error.Threshold = ERROR log4j.appender.error.append=true log4j.appender.error.File=${catalina.base}/logs/error第二种方式:利用jvm的属性,动态加载。启动的时候添加环境属性-Dlog4j.level=error通过修改JVM的系统属性即可。或者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,error log4j.rootCategory=${log4j.level},stdout,info,debug,error log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n log4j.logger.info=info log4j.appender.info=org.apache.log4j.DailyRollingFileAppender log4j.appender.info.layout=org.apache.log4j.PatternLayout log4j.appender.info.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n log4j.appender.info.datePattern='.'yyyy-MM-dd'.log' log4j.appender.info.Threshold = INFO log4j.appender.info.append=true log4j.appender.info.File=${catalina.base}/logs/info log4j.logger.debug=debug log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender log4j.appender.debug.layout=org.apache.log4j.PatternLayout log4j.appender.debug.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n log4j.appender.debug.datePattern='.'yyyy-MM-dd'.log' log4j.appender.debug.Threshold = DEBUG log4j.appender.debug.append=true log4j.appender.debug.File=${catalina.base}/logs/debug log4j.logger.error=error log4j.appender.error=org.apache.log4j.DailyRollingFileAppender log4j.appender.error.layout=org.apache.log4j.PatternLayout log4j.appender.error.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n log4j.appender.error.datePattern='.'yyyy-MM-dd'.log' log4j.appender.error.Threshold = ERROR log4j.appender.error.append=true log4j.appender.error.File=${catalina.base}/logs/errorSystem.setProperty("log4j.level", 你的level);String configFilename = ToolsController.class.getClassLoader().getResource("").getPath() + "log4j.properties";PropertyConfigurator.configure(configFilename);
相关文章推荐
- nginx启动、重启、重新加载配置文件和平滑升级
- nginx启动、重启、重新加载配置文件和平滑升级
- Nginx常用命令(启动/重启/停止/测试配置文件/重新加载配置文件)
- varnish 重新加载配置文件 不重启
- nginx启动、重启、重新加载配置文件和平滑升级
- nginx启动、重启、重新加载配置文件和平滑升级
- nginx启动、重启、重新加载配置文件和平滑升级
- ubuntu重新加载samb配置文件的一些问题
- [Log4j] Log4j 的配置和配置文件加载顺序
- Log4j配置文件解析以及加载自己的配置文件
- 关于JSP配置文件web.xml加载顺序详解
- java非web应用修改 properties/xml配置文件后,无需重启应用即可生效---自动加载
- log4j(1.2.17版本) 加载配置文件
- Log4j配置文件解析以及加载自己的配置文件
- log4j配置文件详解及手动加载的方式
- 配置文件自动重新加载
- Nginx下修改php.ini后重新加载配置文件命令
- 关于struts2中自动加载模块的struts2的配置文件解决方案
- log4j配置文件的加载问题
- 在前台页面修改properties配置文件后 tomcat重新加载该配置文件的问题