Java 如何在logback.groovy中为日志启用traceId以跟踪请求。对于Appoptics
如何在logback.groovy中为日志启用ao.traceId以跟踪请求。我的系统与App optics集成,使用纸质轨迹插件在App optics仪表板上显示正常日志。然而,在App optics仪表板中提到了TraceId,我在日志文件中找不到它。它的代理已经与apache-tomcat-9.0.37集成。同样,我遵循他们的文档进行集成。这是我的履历表Java 如何在logback.groovy中为日志启用traceId以跟踪请求。对于Appoptics,java,tomcat,grails,log4j,agent,Java,Tomcat,Grails,Log4j,Agent,如何在logback.groovy中为日志启用ao.traceId以跟踪请求。我的系统与App optics集成,使用纸质轨迹插件在App optics仪表板上显示正常日志。然而,在App optics仪表板中提到了TraceId,我在日志文件中找不到它。它的代理已经与apache-tomcat-9.0.37集成。同样,我遵循他们的文档进行集成。这是我的履历表 appender("dailyAppender", RollingFileAppender) { file
appender("dailyAppender", RollingFileAppender) {
file = "logs/stacktrace.log"
append = true
rollingPolicy(TimeBasedRollingPolicy) {
fileNamePattern = "logs/stacktrace.%d{yyyy-MM-dd}.log"
if ( currentEnvironment == Environment.TEST) {
maxHistory = maxHistoryDays
cleanHistoryOnStart = true
}
}
encoder(PatternLayoutEncoder) {
pattern = "%date [%thread] %-5level %logger{15} %X{ao.traceId}- %msg%n"
}
}
和javaagent.json,如下所示
cat javaagent.json
{
"agent.serviceKey":"......",
"agent.logging":"info",
"agent.jdbcInstAll":false,
"agent.sqlSanitize":1,
"monitor.jmx.scopes":
{
"java.lang:type=MemoryPool,*":["Usage"],
"java.lang:type=Memory":["HeapMemoryUsage", "NonHeapMemoryUsage"],
"java.lang:type=GarbageCollector,*":["CollectionTime"],
"java.lang:type=Threading":["ThreadCount"],
"java.lang:type=OperatingSystem":["ProcessCpuTime", "AvailableProcessors", "ProcessCpuLoad"],
"java.lang:type=Runtime,*":["Uptime"]
},
"monitor.jmx.enable":true,
"profiler" :
{
"enabled" : true,
"excludePackages" : ["java", "javax", "com.sun", "sun", "sunw"],
"interval" : 20
}
}
注意:我使用的是Grails3.0.16、Java1.8、Log4J1.2和slf4j
参考链接:现在正在工作,实际上,它与我以前安装的Datadog代理冲突