繁体   English   中英

我将 spring 引导应用程序更改为 spring mvc 但我的 log4j2.xml 不起作用?

[英]I changed spring boot app to spring mvc but my log4j2.xml is not working?

我将 spring 引导更改为 spring MVC ,但在我的日志文件中看不到任何日志信息,但它会填充在控制台中 请让我知道我需要在 log4j2.xml 文件中进行的更改,以便将日志信息保存到日志文件中。

以下 XML 文件中的monitorinterval=30是什么?

非常感谢您的回复

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval="30">
    <Properties>
        <Property name="LOG_PATTERN">
            %d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${hostName} --- [%15.15t] %-40.40c{1.} : %m%n%ex
        </Property>
    </Properties>

    <Appenders>
        <Console name="ConsoleAppender" target="SYSTEM_OUT" follow="true">
            <PatternLayout pattern="${LOG_PATTERN}"/>
        </Console>

        <!-- Rolling File Appender -->
        <RollingFile name="FileAppender" fileName="logs/prism.log"
                     filePattern="logs/prism-%d{yyyy-MM-dd}-%i.log.zip">
            <PatternLayout>
                <Pattern>${LOG_PATTERN}</Pattern>
            </PatternLayout>
            <Policies>
                <SizeBasedTriggeringPolicy size="5 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>

    </Appenders>

    <Loggers>
        <Logger name="com.heymath" level="debug"
                additivity="false">
            <AppenderRef ref="ConsoleAppender"/>
            <AppenderRef ref="FileAppender"/>
        </Logger>

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

monitorInterval=30 告诉 Log4j2 每 30 秒检查一次日志配置是否已更改,如果已更改则重新配置。

我看不出你的配置有什么明显的问题。 它应该将所有信息、警告、错误和致命消息记录到文件和控制台。 来自 com.heymath 记录器的调试消息也应该在那里。

我建议将配置元素上的 status="WARN" 更改为 status="DEBUG"。 如果您没有看到来自 log4j 的日志,则表示您的配置文件未找到且未被使用。 相反,它使用将错误记录到控制台的默认配置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM