SpringCloud: skywalking统一收集微服务的日志_skywalking 微服务日志-程序员宅基地

技术标签: 微服务  java  SpringCloud  spring cloud  

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步请求所生成的日志
在这里插入图片描述

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/amadeus_liu2/article/details/122519837

智能推荐

如果有人能力不如你工资比你高怎么看?_比你菜工资比你高-程序员宅基地

文章浏览阅读5.1k次,点赞3次,收藏3次。你在公司里工作,如果同办公室里的一个人,能力没有你强,但工资却高于你,你会不会有想法,心理能平衡吗?1. 错误回答:1) 我当然不平衡,那我还干的什么意思?2) 如果他的能力比我强,我不会有想法。如果没有我强,我肯定心理不平衡。(路健就是这样回答的)3) 如果公司对待员工是这样的不公平,肯定企业文化有问题,这样的公司只有走人。2. 正确回答:(别忘了换位思考原则)工资是员工最敏感的问题,公司一般都会尽量处理好,如果那个同事的能力不如我,工资还高于我,肯定是他在其他方面强于我。或者,他能为公司解决_比你菜工资比你高

获取对话框当前cfont_VC调用系统字体对话框-程序员宅基地

文章浏览阅读474次。1、通过MFC类调用字体对话框2、通过win32API函数调用字体对话框通过MFC类调用字体对话框CFontDialog构造函数CFontDialog(LPLOGFONTlplfInitial=NULL,DWORDdwFlags=CF_EFFECTS|CF_SCREENFONTS,CDC*pdcPrinter=NULL,CWnd*pParentWnd=NULL..._vc++如何获取当前计算中的系统字体

《树莓派Python编程入门与实战》——3.2 检查你的Python环境-程序员宅基地

文章浏览阅读304次。本节书摘来异步社区《树莓派Python编程入门与实战》一书中的第3章,第3.2节,作者:【美】Richard Blum,更多章节内容可以访问云栖社区“异步社区”公众号查看3.2 检查你的Python环境树莓派Python编程入门与实战Raspbian发行版默认安装了Python第三版环境和一些必要的工具。下面是预装了的Python功能。Python..._怎么查树莓派是否有python环境?

工具IDEA 配置springboot+maven项目-程序员宅基地

文章浏览阅读81次。工具IDEA 配置springboot+maven项目 首先安装IDEA,至于怎么安装就不介绍了。。第一步 配置maven环境 首先安装maven,先在网上下载一个maven包。在IDEA的settings中Maven设置 点击USer settings file 文件夹正常的是空白 如图找到你下载的maven文件夹,引入setti..._maven项目怎么配置springboot

GSL 系列 5 — 向量和矩阵 2 — 向量 (vector)_gsl_vector *-程序员宅基地

文章浏览阅读1.3k次。文章目录0 写在前面1 向量 (vector)0 写在前面因为向量是构建于块之上,请先理解块,参见:GSL 系列 5 — 向量和矩阵 1 — 块 (block)1 向量 (vector)向量建构于块之上,添加了对块的切片描述,向量切片必须是内存空间中一组等间隔的元素,不同的向量可以创建于一个块之上,定义如下:// gsl_vector_double.htypedef struct {..._gsl_vector *

c语言 之求 Fibionacci 数列的前n个数_求fib序列c语言-程序员宅基地

文章浏览阅读1.9k次。Fibionacci数列有如下特点:前两个数都为1,从第三个数开始,该数是前两个数之和。即:F1=1;(n=1)F2=1;(n=2)Fn=Fn-1+Fn-2;(n>2)下面给出几种求法:解法一:#include int fib(int n){ int fib1 =1; int fib2 =1; int fib = 1; int i = 0; while (_求fib序列c语言

随便推点

Kinetis KL8x 使用eDMA模块接收串口数据_site: csdn.net edma循环-程序员宅基地

文章浏览阅读1.6k次。飞思卡尔的芯片KL系列Cortex-M0+内核的,其他的应该可以通用,大体一致,之前在KL25上用过,这次是KL81,我对比两者使用类似,就是某些寄存器不同罢了正文开始:需要用LPUART接收上层接口的数据,比较大,而且大小不固定,之前用FIFO来接收,但是遇到收发错乱,很不稳定,故使用eDMA来接收#include "fsl_port_hal.h"#include "fsl_dev_site: csdn.net edma循环

OpenSSL杂记(CA证书)-程序员宅基地

文章浏览阅读896次。OpenSSL和OpenSSHOpenSSH只允许白名单的用户登录1、限制前:[email protected]'s password: [ww@qq ~]$ exitlogoutConnection to 10.201.106.129 closed.[root@zz ~]# ssh [email protected]@10.201.106.129's password: ...

GPIO 口的输入,输出模式及其说明_gpio_mode_in-程序员宅基地

文章浏览阅读4.2w次,点赞65次,收藏351次。GPIO端口各种模式的区别(1)GPIO_Mode_AIN 模拟输入(2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入(4)GPIO_Mode_IPU 上拉输入(5)GPIO_Mode_Out_OD 开漏输出(6)GPIO_Mode_Out_PP 推挽输出(7)GPIO_Mode_AF_OD 复用开漏输出(8)GPIO_Mode_A..._gpio_mode_in

CSS的三种引入方式_css 的三种引入方式-程序员宅基地

文章浏览阅读3k次,点赞3次,收藏14次。CSS的引入方式共有三种:行内样式、内部样式表、外部样式表。_css 的三种引入方式

javascript用js简单的实现电子时钟_4、编写程序,实现电子时钟效果,要求每隔1秒获取一次当前时间,并提供一个按钮控制-程序员宅基地

文章浏览阅读3.6k次,点赞3次,收藏12次。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title><!--给div一个简单样式--><..._4、编写程序,实现电子时钟效果,要求每隔1秒获取一次当前时间,并提供一个按钮控制

HIDL最全编译流程_如何编译hidl-程序员宅基地

文章浏览阅读2.1w次,点赞22次,收藏151次。想了解HIDL介绍的可以参考《HIDL概述》,本篇文章主要介绍HIDL的详细编译流程及简单的客户端应用(C++跟Android客户端的应用)。一、准备工作整一套源码,Android O或者Android P的 保证全套代码已经全编译,原生代码全编译命令source build/envset.sh lunch make 3、hidl-gen工具已经安装,安装命令make h..._如何编译hidl