gpt4 book ai didi

java - 使用 Log4J 的同一类中的不同 Logger

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:00:30 25 4
gpt4 key购买 nike

我希望从同一类中生成的特定消息被单独记录。那么,如何在同一类中创建两种不同类型的记录器。目前,属性文件看起来像

log4j.rootCategory=DEBUG, O

# Stdout
log4j.appender.O=org.apache.log4j.ConsoleAppender
log4j.appender.O.layout=org.apache.log4j.PatternLayout
log4j.appender.O.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n

# File
log4j.appender.MESSAGE=org.apache.log4j.RollingFileAppender
log4j.appender.MESSAGE.File=target/logs/messages.log
# Control the maximum log file size
log4j.appender.MESSAGE.MaxFileSize=1000KB
# Archive log files (one backup file here)
log4j.appender.MESSAGE.MaxBackupIndex=100
log4j.appender.MESSAGE.layout=org.apache.log4j.PatternLayout
log4j.appender.MESSAGE.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M (% F:% L) - %m%n
log4j.appender.MESSAGE.

log4j.category.failedMessagesLog=INFO, MESSAGE

我在我的代码中使用日志记录作为:-/** 记录器。 */

Logger logger = Logger.getLogger(MyClass.class);
Logger msgLogger = Logger.getLogger("MESSAGE");

测试后,我创建了一个空日志文件 (messages.log)。有什么建议吗??

最佳答案

创建两个不同名称的记录器。您可以按名称配置它们。一种简单的方法是为您的类名添加后缀。例如

Log log1 = LogFactory.getLog(getClass().getName()+".log1");
Log log2 = LogFactory.getLog(getClass().getName()+".log2");

在您的属性文件中。

log4j.category.mypackage.myclass.log1=INFO, MESSAGE1
log4j.category.mypackage.myclass.log2=INFO, MESSAGE2

关于java - 使用 Log4J 的同一类中的不同 Logger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4247675/

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