关于Log4j不重启重新加载配置文件
来源:互联网 发布:小米note3网络异常 编辑:程序博客网 时间:2024/05/01 05:31
系统可能出现某些问题,我们就需要将相关的日志打印出来,就需要修改日志级别。一般情况下,都需要重启程序,但是有时候在线上要求不能重启服务,就需要动态加载配置文件。
第一种方式:利用Log4j的定时扫描功能。Log4j会自动扫描配置文件,默认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的属性,动态加载。
启动的时候添加环境属性-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,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/error
System.setProperty("log4j.level", 你的level);String configFilename = ToolsController.class.getClassLoader().getResource("").getPath() + "log4j.properties";PropertyConfigurator.configure(configFilename);0 0
- 关于Log4j不重启重新加载配置文件
- varnish 重新加载配置文件 不重启
- 配置文件自动重新加载
- log4j配置文件加载方式
- Log4j配置文件的加载
- log4j配置文件的加载问题
- 程序自定义加载log4j配置文件
- 关于Log4j 2.0的配置文件
- tomcat中用classloader重新加载配置文件
- KVM重新加载虚拟机XML配置文件
- laravel中间件失效,配置文件重新加载
- 关于加载重新js文件
- Log4j 学习日记 - 手工加载配置文件
- log4j(1.2.17版本) 加载配置文件
- WEB系统启动时加载Log4j的配置文件
- 日志操作log4j配置文件加载与jdbc
- log4j加载自定义的日志的配置文件
- 非web环境log4j配置文件加载路径
- Java设计模式之简单工厂
- svg绘制圆弧(一)
- servlet学习笔记(1)
- Java设计模式之适配器模式
- picasso-高级使用之自定义缓存位置
- 关于Log4j不重启重新加载配置文件
- Java设计模式之外观模式
- 网游服务器csv配置设计
- rocketmq基本概念
- n级阶梯,每次走一步和两步或三步,有多少种走法
- linux设备驱动归纳总结(一):内核的相关基础概念
- php5.6-apache2.4-mysql5.6环境安装配置
- 0-0不走坑路, 手把手教你Linux16.04, Anaconda3, CUDA8.0, cudnn v5.1 tensorflow GPU版, opencv3安装
- ##模拟实现strlen函数