1.在spring boot项目中resource目录添加logback-spring.xml,
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="console" value="%date{yyyy-MM-dd HH:mm:ss} | %highlight(%-5level) | %boldYellow(%tid) | %boldYellow(%thread) | %boldGreen(%logger) | %msg%n"/>
<appender name="std" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
<pattern>${console}</pattern>
</layout>
</encoder>
</appender>
<appender name="grpc-log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout">
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n</Pattern>
</layout>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="std"/>
<appender-ref ref="grpc-log"/>
</root>
</configuration>
2.配置skywalking agent,在agent.confi中增加4行配置:
plugin.toolkit.log.grpc.reporter.server_host=${SW_GRPC_LOG_SERVER_HOST:139.198.xx.xx}
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}
其中第一行配置为skywalking的地址,第二行配置为skywalking默认的服务端口
3.在微服务的接口中增加日志输出:
package cn.edu.tju.controller;
import cn.edu.tju.service.InfoService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
//调试日志
private final static Logger logger = LoggerFactory.getLogger(HelloController.class);
@Autowired
private InfoService infoService;
@RequestMapping("/hello")
public String testFeign(){
String str=infoService.test();
logger.info("hi ,this is first log from Spring Boot");
logger.info("hi ,this is second log from Spring Boot");
return "ok: "+str;
}
}
3.启动应用程序,
java -javaagent:D:/skywalking/agent/skywalking-agent.jar -Dskywalking.agent.service_name=mygod -jar D:\springbootskywalking2022\target\springbootsky-1.0-SNAPSHOT.jar
或者使用idea运行,加vm参数
-javaagent:D:/skywalking/agent/skywalking-agent.jar -Dskywalking.agent.service_name=test-service -Dskywalking.collector.backend_service=139.xxx.xxx.xxx:11800
4.访问微服务,http://localhost:8098/hello。
5.查看skywalking控制台:http://139.198.xx.xx:8080,并点击“日志”,然后可以看到第4步请求所生成的日志