当前位置: 首页 > 工具软件 > Archive4J > 使用案例 >

springBoot集成log4J2中一些报错处理

冯沛
2023-12-01

看了很多集成log4j2的,但是对于其中一些报错处理未找到解决方案,此文档对自行搭建过程中遇到的报错进行分析及提供解决方法。

1、集成log4j2配置文件,启动报错

错误描述:ERROR StatusLogger No log4j2 configuration file found.
错误原因:在于log4j的配置文件是log4j.properties。
log4j2的xml文件,确保在resources路径下新增的是log4j2.xml 文件名称

2、log4J2.xml内容

<?xml version="1.0" encoding="UTF-8"?>
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<!-- status log4j2内部日志级别 -->
<configuration status="INFO">
    <!-- 全局参数 -->
    <Properties>
        <Property name="pattern">%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %c{1}:%L -%m%n</Property>
        <Property name="displayName">EurekaServer</Property>
    </Properties>
    <Appenders>
        <Console name="console" target="SYSTEM_OUT" follow="true">
            <PatternLayout>
                <pattern>${pattern}</pattern>
            </PatternLayout>
        </Console>

        <!-- 文件 每次运行程序会自动清空,由append属性决定 -->
        <File name="error" fileName="${FILE_PATH}/${displayName}_error.log" append="false">
            <!-- 指定error 级别的日志 -->
            <ThresholdFilter level="ERROR" onMatch="ACCEPT"
                onMismatch="DENY" />
            <PatternLayout>
                <pattern>${pattern}</pattern>
            </PatternLayout>
        </File>
        <!-- 滚动文件 -->
        <RollingFile name="rollingFile" fileName="${FILE_PATH}/${displayName}.log"
            filePattern="${displayName}_%d{yyyy-MM-dd}.log">
            <PatternLayout>
                <pattern>${pattern}</pattern>
            </PatternLayout>
            <!-- 按大小划分 -->
            <SizeBasedTriggeringPolicy size="50 MB" />
        </RollingFile>
    </Appenders>
    <Loggers>
        <Logger name="org.springframework" level="WARN" />
        <Logger name="com.xuweihao" level="DEBUG" />
        <Root level="DEBUG">
            <AppenderRef ref="console"></AppenderRef>
            <AppenderRef ref="error"></AppenderRef>
            <AppenderRef ref="rollingFile"></AppenderRef>
        </Root>
    </Loggers>
</configuration>

3、 启动报错缺少log4j-web

错误原因: 2020-03-02 14:57:13,458 main INFO Log4j appears to be running in a Servlet environment, but there’s no log4j-web module available. If you want better web container support, please add the log4j-web JAR to your web archive or server lib directory.
解决方案:在pom.xmll中新增log4j-web依赖关系解决此问题,根据需要选择依赖版本

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-web</artifactId>
    <version>2.11.1</version>
</dependency>

4、日志路径修

在log4j2.xml全局变量模块新增

<Property name="FILE_PATH">./logs</Property>
 类似资料: