单纯的SpringMVC 集成log4j (slf4j)

本文介绍了如何将SpringMVC应用与log4j和slf4j进行集成,包括在web.xml中配置log4j初始化参数,详细说明了log4j2.xml的配置内容,如日志输出位置、级别、格式等,并提供了测试用例。在遇到日志文件无法生成的问题时,通过将RollingRandomAccessFile改为RollingFile解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单纯的springMVC集成log4j

1.加载所需要的jar

2.web.xml配置添加:

<context-param>
        <param-name>log4jConfiguration</param-name>
        <param-value>/WEB-INF/config/log4j2.xml</param-value>

</context-param>

其中 log4j2.xml 为具体配置文件名称。

3.log4j2.xml 文件内容:

<?xml version="1.0" encoding="utf-8" ?>
<Configuration status="off" monitorInterval="1800">
    <properties>
        <property name="LOG_HOME">D:\logs</property>
        <property name="ERROR_LOG_FILE_NAME">error</property>
    </properties>
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d %-5p (%F:%L) - %m%n" />
        </Console>
        <RollingRandomAccessFile name="ErrorLog"
                                 fileName="${LOG_HOME}/${ERROR_LOG_FILE_NAME}.log"
                                 filePattern="${LOG_HOME}/${ERROR_LOG_FILE_NAME}.log.%d{yyyy-MM-dd}.gz">
            <PatternLayout pattern="%d %-5p (%F:%L) - %m%n"/>
            <Policies>
                <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="100MB"/>
            </Policies>
            <DefaultRolloverStrategy max="20"/>
        </RollingRandomAccessFile>
    </Appenders>
    <Loggers>
        <logger name="org.springframework.core" level="info"/>
        <logger name="org.springframework.beans" level="info"/>
        <logger name="org.springframework.context" level="info"/>
        <logger name="org.springframework.web" level="info"/>
        <logger name="org.newcih" level="error" includeLocation="true" additivity="false">
            <appender-ref ref="ErrorLog"/>
            <appender-ref ref="Console"/>
        </logger>
         <root level="info" includeLocation="true">
            <appender-ref ref="Console"/>
        </root>
    </Loggers>
</Configuration>

4.测试使用:

在需要的类中添加: 

private Logger logger = LoggerFactory.getLogger(TestController.class);

import 类如下:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory; 

至此,配置集成完毕,在需要的地方使用:

logger.info("---------------------aaaaaaaaaaaaaaaaaaaaaaaaaa-------------------------"); 

后续问题: 使用上面的配置在控制台输出没有问题,但是就是没有办法生成日志文件,在网上搜了很多的资料都没有解决了,直到看到了Lance,yl的帖子,将RollingRandomAccessFile标签改成RollingFile,日志文件终于有了内容,非常感谢。

原文地址:https://blog.youkuaiyun.com/qq_33200504/article/details/78413438

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值