繁体   English   中英

log4j配置将所有错误消息记录在文件中

[英]log4j configuration to log all error messages in file

具有以下log4j配置:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorInterval="5">
    <Appenders>
        <File name="MyFile" fileName="${sys:catalina.base}/logs/clinic.log" append="true">
            <PatternLayout pattern="%d %-5level [%logger{3.}] - %msg%n" />
        </File>

    </Appenders>
    <Loggers>
     <Logger name="*.*" level="ERROR" includeLocation="true">
            <AppenderRef ref="MyFile"/>
        </Logger>
       <Root level="ERROR">
            <AppenderRef ref="MyFile" level="error" />
        </Root>
    </Loggers>
</Configuration>

错误消息仍未记录在文件中。

这是代码片段

public class AddFeedbackForm {
    private final Clinic clinic;

   private static final org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(AddFeedbackForm.class.getName());
/// some code 
 LOG.error("First Name: " + feed.getFirstName());
 LOG.error("Last Name: " + feed.getLastName());
// some code 
}

无法获得缺少的配置? 请建议

在我的建议下,我修改并尝试了以下配置:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration
    xmlns:log4j="http://jakarta.apache.org/log4j/">
    <appender name="MyFile"
        class="org.apache.log4j.RollingFileAppender">
        <param name="file" value="${sys:catalina.base}/logs/clinic.log" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
        </layout>
    </appender>
    <Loggers>
        <Logger name="*.*" level="error" includeLocation="true">
            <appender-ref ref="MyFile" />
        </Logger>
        </Loggers>
    <root level="error">
        <appender-ref ref="MyFile" level="error" />
    </root>
</log4j:configuration>

这将在日志文件中打印错误消息。

希望它为您服务!

暂无
暂无

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

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