gpt4 book ai didi

java - 如何将进程 ID 添加到 LOG4J 日志文件?

转载 作者:太空狗 更新时间:2023-10-29 22:40:32 24 4
gpt4 key购买 nike

我目前在 log4j 中有以下模式布局。我想将进程 ID 添加到日志文件中。我该怎么做?

log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

粘贴示例日志消息

2011-01-07 11:48:21,940 [main] INFO  Testing1
2011-01-07 11:48:21,942 [main] INFO Test.common.ApplicationProperties - Used log4j

log4j.properties
"log4j.properties" [Read only] 26 lines, 884 characters
log4j.rootCategory=DEBUG, stdout, A1

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold=WARN
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss} %-5p (%c) %m%n


log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.Threshold=DEBUG
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.A1.File=/homw/cus/logs/ccl.02.log
log4j.appender.A1.MaxFileSize=5MB
log4j.appender.A1.MaxBackupIndex=40


log4j.category.test.common.DBConnectionPool=WARN
log4j.category.test.common.DataBaseHandler=WARN
log4j.category.test.cttg.tables=WARN
log4j.category.test.middleware.tables=WARN

log4j.logger.org.apache.axis=ERROR
log4j.logger.org.apache.catalina=ERROR

最佳答案

你应该使用 MDC做这件事

在配置文件中:

log4j.appender.stdout.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss}  %-5p  (%c) %m%n %X{PID}

%X{PID} 用于匹配上下文值 PID

然后,在代码中,在记录开始之前:

log4j 1.x

RuntimeMXBean rt = ManagementFactory.getRuntimeMXBean();
String pid = rt.getName();
MDC.put("PID", pid);

log4j 2.x

RuntimeMXBean rt = ManagementFactory.getRuntimeMXBean();
String pid = rt.getName();
ThreadContext.put("PID", pid);

关于java - 如何将进程 ID 添加到 LOG4J 日志文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4622252/

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