最近因为需要重新启用Skywalking,过程和问题依旧先在这里记录下来
Skywalking在8.4.0版本以上新增了日志集成系统,因为我这个应用集成了log4j2,所以以log4j2举例,不过也会有log4j以及logback的例子
版本:
- skywalking:8.6.0
- ES:7
- log4j2:2.13.0
关于skywalking的安装部署可以看以前的文章,这里就不再赘述了
skywalking-log4j2官方文档:
https://skywalking.apache.org/docs/main/v8.6.0/en/setup/service-agent/java-agent/application-toolkit-log4j-2.x/
skywalking-logback使用的官方文档:
https://skywalking.apache.org/docs/main/v8.6.0/en/setup/service-agent/java-agent/application-toolkit-logback-1.x/
skywalking-log4j使用的官方文档:
https://skywalking.apache.org/docs/main/v8.4.0/en/setup/service-agent/java-agent/application-toolkit-log4j-1.x/
还是建议优先看文档
在文档中我们可以看到已经说的很清楚了在pom.xml以及log4j2.xml添加引用
pom.xml
1 2 3 4 5
| <dependency> <groupId>org.apache.skywalking</groupId> <artifactId>apm-toolkit-log4j-2.x</artifactId> <version>8.6.0</version> </dependency>
|
log4j2.xml
添加控制台输出:
1 2 3
| <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} [%traceId] - %msg%n"/> </Console>
|
添加grpc界面集成:
1 2 3
| <GRPCLogClientAppender name="grpc-log"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </GRPCLogClientAppender>
|
开启日志输出:
1 2 3 4 5
| <root level="trace"> <appender-ref ref="grpc-log" /> <appender-ref ref="SYSTEM_OUT" /> </root>
|
还需要在agent/config/agent.config配置文件,添加如下配置信息,及skywalking的log通信用的grpc连接
1 2 3 4
| plugin.toolkit.log.grpc.reporter.server_host=${SW_GRPC_LOG_SERVER_HOST:127.0.0.1} plugin.toolkit.log.grpc.reporter.server_port=${SW_GRPC_LOG_SERVER_PORT:11800} plugin.toolkit.log.grpc.reporter.max_message_size=${SW_GRPC_LOG_MAX_MESSAGE_SIZE:10485760} plugin.toolkit.log.grpc.reporter.upstream_timeout=${SW_GRPC_LOG_GRPC_UPSTREAM_TIMEOUT:30}
|
gRPC报告程序可以将收集到的日志转发到SkyWalking OAP服务器或SkyWalking Satellite卫星。跟踪ID,段ID和跨度ID将自动附加到日志。无需修改现有布局。
启动应用 可以看到TID已经在控制台输出了
回到界面也可以看见日志已经集成
\