Maven项目添加log4j配置

本文详细介绍了如何在Spring框架中整合Log4j进行日志记录,包括pom.xml依赖添加、web.xml配置、log4j.properties设置及代码示例。通过具体步骤指导,实现不同模块的日志级别配置。

1. pom.xml添加:

   <properties>
        <spring.version>3.2.5.RELEASE</spring.version>
    </properties>

 

<dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${spring.version}</version>
        </dependency>
        <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>1.1.3</version>
            </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.14</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>

 

2. web.xml添加:

  <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>WEB-INF/log4j.properties</param-value>
    </context-param>
    <context-param>
        <param-name>log4jRefreshInterval</param-name>
        <param-value>3000</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

3. 在web.xml同路径下创建log4j.properties文件,内容如下:

#Global configuration
log4j.rootLogger = INFO, stdout, logfile

log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %5p [%t] - %m%n

log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=/var/banktansWeb/logs/banktansWeb.log
log4j.appender.logfile.MaxFileSize=30MB
log4j.appender.logfile.MaxBackupIndex=100
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - <%m>%n

#Spring config
log4j.logger.org.springframewaork = DEBUG
log4j.logger.org.springframework.ws.client.MessageTracing.sent=TRACE
log4j.logger.org.springframework.ws.client.MessageTracing.received=DEBUG
log4j.logger.org.springframework.ws.server.MessageTracing=DEBUG

#http config
log4j.logger.org.apache.commons.httpclient = DEBUG
log4j.logger.httpclient.wire.header = DEBUG
log4j.logger.httpclient.wire.content = DEBUG

#Mybatis config
log4j.logger.net.openwares.test.mapper = TRACE

 

注:log4j.appender.logfile.File是log存放路径,自己创建配置替换.

4. 代码引入.

/**
     * 系统日志记录文件
     */
private static Log LOGGER = LogFactory.getLog(类名.class);

LOGGER.info(this.getClass().getName() + "有一连接关闭!当前链接数为"+ getOnlineCount());

LOGGER.info("有新连接加入!当前链接数为" + getOnlineCount());

 

Maven 项目中导入 Log4j 依赖时,需要根据使用的 Log4j 版本来选择正确的依赖配置Log4j 有两个主要版本:**Log4j 1.x** 和 **Log4j 2.x**,它们的依赖配置不同。 ### 如果使用的是 **Log4j 1.x(例如 1.2.17)**,可以在 `pom.xml` 文件中添加如下依赖: ```xml <!-- Log4j 1.x 依赖 --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> ``` 此依赖提供了 Log4j 1.x 的核心功能,适用于遗留项目或对 Log4j 1.x 有兼容性要求的场景[^2]。 --- ### 如果使用的是 **Log4j 2.x(例如 2.20.0)**,则需要添加以下两个依赖: ```xml <!-- Log4j 2.x API 依赖 --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.20.0</version> </dependency> <!-- Log4j 2.x 核心实现依赖 --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.20.0</version> </dependency> ``` Log4j 2.x 提供了更强大的功能和更好的性能,包括异步日志、自动重新加载配置等特性。因此,对于新项目或升级现有项目时,推荐使用 Log4j 2.x 版本[^1]。 --- ### 升级与漏洞修复 如果项目已经存在 Log4j 依赖,并且需要快速修复已知的安全漏洞(如 Log4j 漏洞),可以通过以下方式处理: 1. 在 `dependencies` 中移除旧版本的 Log4j 相关依赖。 2. 在 `dependencyManagement` 中指定新版 Log4j 的版本,这样可以统一管理整个项目的依赖版本并避免遗漏。 这种方式能够高效地修复因依赖树复杂而带来的问题[^3]。 --- ### 配置文件 无论使用哪个版本的 Log4j,都需要创建相应的配置文件来定义日志输出格式、级别和目标位置等内容。 - 对于 **Log4j 1.x**,通常使用 `log4j.properties` 或 `log4j.xml`。 - 对于 **Log4j 2.x**,通常使用 `log4j2.xml` 或 `log4j2.json`。 这些配置文件应放置在项目的 `src/main/resources` 目录下,以便在运行时被正确加载。 --- ### IDE 配置 如果使用 IntelliJ IDEA 构建 SSM(Spring + Spring MVC + MyBatis)项目,并且需要确保 Log4j 依赖生效,则可能需要手动将相关的 JAR 包添加到 Tomcat 的 `lib` 目录中。具体步骤如下: 1. 点击右上角的 **File -> Project Structure**。 2. 进入 **Artifacts** 页面,删除旧的依赖。 3. 添加新的依赖项以确保最新的 Log4j JAR 包被部署到 Tomcat 的 `lib` 目录中。 这样操作后,Tomcat 启动时会正确加载 Log4j 依赖,从而保证日志功能正常工作[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值