springmvc web项目实现动态改变log4j日志输出

    xiaoxiao2022-08-06  59

    线上环境的log输出级别一般都设置的很高比如WARN,如果出现一些很难直观解决的问题,可能需要调整日志输出级别为DEBUG,又不想改个日志输出级别还要重启服务,那么可以考虑一下如下方法:

    通过在web.xml中添加如下配置:

    <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value> </context-param> <!-- watch dog 监听log4j配置变化,60秒钟扫描一次--> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>60000</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> log4jConfigLocation是指定你的log4j配置文件的location,

    log4jRefreshInterval是刷新频率,单位是毫秒

    然后配置一个Log4jConfigListener监听器

    这个监听器会开启一个Watch DOG监控线程,每隔log4jRefreshInterval时间扫描一下log4jConfigLocation指定的配置文件的lastModified文件属性,如果有更新了则重新装载log4j配置。

    Log4jConfigListener已经被spring标记为deprecated了。好像是建议使用log4j2.增强版log4j。有空学习一下log4j2.

    转载请注明原文地址: https://ju.6miu.com/read-1132097.html
    最新回复(0)