Spring 中配置log4j日志功能

一,添加log4j依赖包

可从官网上下载该依赖包log4j-x.x.xx.jar,下载后 build path,添加依赖包

 

二,创建 log4j.properties 配置文件

log4j.properties配置文件用来配置 日志的输出格式、输出的地址....

复制代码
复制代码
### set log levels ###
log4j.rootLogger = INFO, D, E

log4j.appender.D = org.apache.log4j.RollingFileAppender
log4j.appender.D.File =${scheduleProject}WEB-INF/logs/schedule.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.MaxFileSize = 50000KB
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

log4j.appender.E = org.apache.log4j.RollingFileAppender
log4j.appender.E.File = ${scheduleProject}WEB-INF/logs/schedule.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.MaxFileSize = 50000KB
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss}  [ %l\:%c\:%t\:%r ] - [ %p ]  %m%n
复制代码
复制代码

log4j.appender.D.File =${scheduleProject}WEB-INF/logs/schedule.log  设置 将日志输出到哪个目录下

${scheduleProject}是web.xml中定义的一个用来唯一识别同一个窗口中不同项目的标识,就相当于 项目的 身份证(比如,一个Tomcat下可能部署了多个项目)

 

三,在web.xml文件中 配置 加载 log4j.properties的属性

复制代码
复制代码
<!-- 加载log4j的配置文件log4j.properties -->
    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>/WEB-INF/log4j.properties</param-value>
    </context-param>

    <!-- 设定刷新日志配置文件的时间间隔,这里设置为10s -->
    <context-param>
        <param-name>log4jRefreshInterval</param-name>
        <param-value>10000</param-value>
    </context-param>

    <!-- 加载Spring框架中的log4j监听器Log4jConfigListener -->
    <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

    <!-- 为避免项目间冲突,定义唯一的 webAppRootKey -->
    <context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>scheduleProject</param-value>
    </context-param>
复制代码
复制代码

①log4jConfigLocation 指定Spring从哪个目录下加载 log4j.properties 配置文件

②log4jRefreshInterval 当修改了配置文件时,不需要重启就能加载变化了的log4j.properties 配置文件

③webAppRootKey 项目的标识,一个窗口中可能部署了多个项目,用它进行区分。当配置 日志文件的输出目录时,可能会用到它

 

四,在代码中使用log4j进行日志记录

复制代码
import org.apache.log4j.Logger;

class  Test{

private static Logger logger = Logger.getLogger(Test.class);
//....other code

logger.info("info ");
logger.error("error");
logger.warn("warn");

.......
复制代码

转载:http://www.cnblogs.com/hapjin/p/5520547.html

posted @   迷走神经  阅读(582)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示