Log4j2未登录到日志文件

时间:2019-07-15 11:08:24

标签: java spring-boot gradle web-applications log4j2

我更改了log4j2.xml配置文件的路径,现在将创建日志文件,但是应用程序未登录到这些文件。我没有收到错误消息。

我的订单结构: order structur

Log4j2.xml

<Properties>
    <Property name="LOG_PATTERN">
        %d{yyyy-MM-dd HH:mm:ss.SSS} %5level ${hostName} --- [%15.15thread] %-100.100class : %message%n%exception
    </Property>
</Properties>
<Appenders>
    <Console name="ConsoleAppender" target="SYSTEM_OUT" follow="true">
        <PatternLayout pattern="${LOG_PATTERN}"/>
    </Console>

    <RollingFile name="RootAppender" fileName="./log/log.log" filePattern="./log/log-%d{yyyy-MM-dd}-%i.log">
        <PatternLayout>
            <Pattern>${LOG_PATTERN}</Pattern>
        </PatternLayout>
        <Policies>
            <SizeBasedTriggeringPolicy size="100MB" />
            <TimeBasedTriggeringPolicy interval="1"/>
        </Policies>
        <DefaultRolloverStrategy max="7"/>
    </RollingFile>

    <RollingFile name="CurlAppender" fileName="./log/curl.log" filePattern="./log/curl-%d{yyyy-MM-dd}-%i.log">
        <PatternLayout>
            <Pattern>${LOG_PATTERN}</Pattern>
        </PatternLayout>
        <Policies>
            <SizeBasedTriggeringPolicy size="500MB" />
            <TimeBasedTriggeringPolicy interval="1"/>
        </Policies>
        <DefaultRolloverStrategy max="7"/>
    </RollingFile>
</Appenders>

<Loggers>
    <Root level="info">
        <AppenderRef ref="ConsoleAppender" />
        <AppenderRef ref="RootAppender"/>
    </Root>

    <Logger name="CurlLogger" level="trace" additivity="false">
        <AppenderRef ref="CurlAppender"/>
    </Logger>
</Loggers>

3 个答案:

答案 0 :(得分:0)

我认为Loggers标记中存在一些问题。 在记录器名称中,请添加您的包名称,并在记录器中更改您的AppenderRef。

请将您的xml代码更改为以下内容:

<Loggers>
    <Root level="info">
        <AppenderRef ref="ConsoleAppender" />
        <AppenderRef ref="RootAppender"/>
    </Root>

    <Logger name="com.example.springbackend.controller" level="trace" additivity="false">
        <AppenderRef ref="ConsoleAppender" />
        <AppenderRef ref="RootAppender"/>
    </Logger>
</Loggers>

这里<Logger name="com.example.springbackend.controller" level="trace" additivity="false">记录器名称是项目包名称。

答案 1 :(得分:0)

我认为问题出在根本层面。 请更改根级别记录器以进行调试或跟踪。

答案 2 :(得分:0)

我找到了问题。 在application.properties文件中,必须设置“ logger.config”属性。 设置此属性后,文件日志记录将起作用。