gpt4 book ai didi

java - Java中log4j基于级别的日志记录

转载 作者:行者123 更新时间:2023-12-02 00:03:13 24 4
gpt4 key购买 nike

下面是 log4j 属性和 Java 代码。所有日志仅在调试中记录。我什至尝试添加阈值,但还没有成功。我需要根据日志级别将日志语句记录在单独的文件中。

所有日志仅记录在调试日志文件中,如果我删除调试日志,那么它将记录在信息日志文件中。

给出阈值选项也不起作用。

log4j.rootLogger = OFF

#define the console appender
log4j.appender.consoleAppender = org.apache.log4j.ConsoleAppender
# now define the layout for the appender
log4j.appender.consoleAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

# now define the rollingFIle appender
log4j.category.com=error, myErrorappender
log4j.additivity.com=false
log4j.appender.myErrorappender=org.apache.log4j.RollingFileAppender
log4j.appender.myErrorappender.File=/Users/uthaman/Documents/workspace/Logging/myErrorlog.log
log4j.appender.myErrorappender.MaxFileSize=2MB
log4j.appender.myErrorappender.MaxBackupIndex=2
log4j.appender.myErrorappender.layout = org.apache.log4j.PatternLayout
log4j.appender.myErrorappender.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c (%F:%L) - %m%n


log4j.category.com=info,myInfoappender
log4j.additivity.com=false
log4j.appender.myInfoappender=org.apache.log4j.RollingFileAppender
log4j.appender.myInfoappender.File=/Users/user/Documents/workspace/Logging/myInfolog.log
log4j.appender.myInfoappender.MaxFileSize=2MB
log4j.appender.myInfoappender.MaxBackupIndex=2
log4j.appender.myInfoappender.layout = org.apache.log4j.PatternLayout
log4j.appender.myInfoappender.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c (%F:%L) - %m%n

log4j.category.com=debug,myDebugappender
log4j.additivity.com=false
log4j.appender.myDebugappender=org.apache.log4j.RollingFileAppender
log4j.appender.myDebugappender.File=/Users/user/Documents/workspace/Logging/myDebuglog.log
log4j.appender.myDebugappender.MaxFileSize=2MB
log4j.appender.myDebugappender.MaxBackupIndex=2
log4j.appender.myDebugappender.layout = org.apache.log4j.PatternLayout
log4j.appender.myDebugappender.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c (%F:%L) - %m%n

这是记录日志语句的java代码:

public class Logging {

private static Logger logger = Logger.getLogger(Logging.class);

public static void main(String[] args) {
logger.error("This is error");
logger.info("This is info");
logger.debug("This is debug");
}

}

最佳答案

我更喜欢使用 log4j.xml 配置而不是 log4j.properties。以下配置(基本配置)可按需要工作...

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration>
<appender name="fileAppender" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="log.info" />
<param name="datePattern" value="'.'yyyy-MM-dd" />
<param name="append" value="true" />
<param name="threshold" value="info"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %C{6} - %m%n" />
</layout>
</appender>

<appender name="fileAppenderDebug" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="log.debug" />
<param name="datePattern" value="'.'yyyy-MM-dd" />
<param name="append" value="true" />
<param name="threshold" value="debug"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %C{6} - %m%n" />
</layout>
</appender>

<appender name="fileAppenderError" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="log.error" />
<param name="datePattern" value="'.'yyyy-MM-dd" />
<param name="append" value="true" />
<param name="threshold" value="error"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %C{6} - %m%n" />
</layout>
</appender>

<root>
<priority value="debug" />
<appender-ref ref="fileAppender" />
<appender-ref ref="fileAppenderDebug" />
<appender-ref ref="fileAppenderError" />
</root>
</log4j:configuration>

关于java - Java中log4j基于级别的日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14418633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com