1、Graylog简介

Graylog 是一个开源的日志聚合、分析、审计、展现和预警工具。在功能上来说,和 ELK 类似,但又比 ELK 要简单很多。依靠着更加简洁,高效,部署使用简单的优势很快受到许多人的青睐。当然,在扩展性上面确实没有ELK好,但是其有商业版本可以选择。

2、Graylog安装

见博客:【Docker】9、Docker-Compose安装Graylog分布式日志服务

3、引入maven依赖

<!-- Graylog分布式日志框架 -->
<dependency><groupId>de.siegmar</groupId><artifactId>logback-gelf</artifactId><version>4.0.2</version>
</dependency>
<!-- lombok -->
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId>
</dependency>

4、logback-prod.xml文件

  • 在 resources 目录下新建 logback-prod.xml 文件,文件内容如下:
<?xml version="1.0" encoding="UTF-8"?><configuration><!-- 默认配置 --><include resource="org/springframework/boot/logging/logback/defaults.xml"/><!-- 配置控制台(Console) --><include resource="org/springframework/boot/logging/logback/console-appender.xml"/><appender name="GELF" class="de.siegmar.logbackgelf.GelfUdpAppender"><!-- Graylog服务的地址 --><graylogHost>192.168.23.136</graylogHost><!-- UDP Input端口 --><graylogPort>12201</graylogPort><!-- 最大GELF数据块大小(单位:字节),508为建议最小值,最大值为65467 --><maxChunkSize>508</maxChunkSize><!-- 是否使用压缩 --><useCompression>true</useCompression><encoder class="de.siegmar.logbackgelf.GelfEncoder"><!-- 是否发送原生的日志信息 --><includeRawMessage>false</includeRawMessage><includeMarker>true</includeMarker><includeMdcData>true</includeMdcData><includeCallerData>false</includeCallerData><includeRootCauseData>false</includeRootCauseData><!-- 是否发送日志级别的名称,否则默认以数字代表日志级别 --><includeLevelName>true</includeLevelName><!--这个控制message字段,默认值为%m%nopex,表示只输出message,不输出任何堆栈跟踪(nopex)--><shortPatternLayout class="ch.qos.logback.classic.PatternLayout"><!--标准日志格式--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></shortPatternLayout><!--这个控制full message字段,内容基本上和message一样,所以这里直接配置行分隔符,就会忽略该字段,默认为%m%n--><fullPatternLayout class="ch.qos.logback.classic.PatternLayout"><pattern>%n</pattern></fullPatternLayout><!-- 配置应用名称(服务名称),通过staticField标签可以自定义一些固定的日志字段 --><staticField>app_name:asurplus</staticField><!-- 应用环境 --><staticField>env:prod</staticField><!--日志类型Java--><staticField>log_type:Java</staticField></encoder></appender><!-- root节点 全局日志级别,用来指定最基础的日志输出级别 --><root level="INFO"><appender-ref ref="GELF"/></root>
</configuration>

其中,192.168.23.136 为我 Graylog 分布式日志服务的主机 IP

  • 在配置文件中配置日志文件位置
# 日志配置信息
logging:config: classpath:logback-prod.xml

5、测试方法

  • 在 Graylog 控制台配置 Input


import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@Slf4j
@RestController
public class TestController {@GetMapping("test")public String test() {log.info("这是一条info日志");log.warn("这是一条warn日志");log.error("这是一条error日志");log.debug("这是一条debug日志");int i = 1 / 0;return "hello world";}
}

提供了一个接口,并输出了四种类型的日志,并制造了一个异常,启动项目,访问接口:

http://localhost:8080/test

6、日志展示


好了,SpringBoot 中集成 Graylog 分布式日志框架就是这样简单

如您在阅读中发现不足,欢迎留言!!!

【SpringBoot】72、SpringBoot中接入轻量级分布式日志框架Graylog相关推荐

  1. 【Docker】9、Docker-Compose安装轻量级分布式日志服务Graylog

    1.安装Docker-Compose 见博客:[Docker]8.安装Docker-Compose服务 2.Graylog简介 Graylog 是一个开源的日志聚合.分析.审计.展现和预警工具.在功能 ...

  2. 轻量级分布式定时任务框架XXL-Job

    轻量级分布式定时任务框架XXL-Job: XXL-JOB是一款轻量级的分布式定时任务框架,上手简单,操作容易,XXL-Job可以到官网下载也可以去gitee上拉取源码,其中核心模块分页两个:1:是分布 ...

  3. LTS 轻量级分布式任务调度框架(Light Task Scheduler)

    框架概况: LTS是一个轻量级分布式任务调度框架.有三种角色, JobClient, JobTracker, TaskTracker.各个节点都是无状态的,可以部署多个,来实现负载均衡,实现更大的负载 ...

  4. 轻量级分布式 RPC 框架

    RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样. RPC 可基于 HTTP 或 TCP 协议,Web Servi ...

  5. 一个轻量级分布式RPC框架--NettyRpc

    1.背景 最近在搜索Netty和Zookeeper方面的文章时,看到了这篇文章<轻量级分布式 RPC 框架>,作者用Zookeeper.Netty和Spring写了一个轻量级的分布式RPC ...

  6. 轻量级分布式 RPC 框架DIY(转)

     http://www.csdn123.com/html/topnews201408/67/12167.htm RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点 ...

  7. LTS 轻量级分布式任务调度框架(Light Task Schedule) - 推酷

    LTS 轻量级分布式任务调度框架(Light Task Schedule) - 推酷

  8. 在.NET Core中使用Exceptionless分布式日志收集框架

    一.Exceptionless简介 Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF, ...

  9. 如何使用新一代轻量级分布式日志管理神器 Graylog 来收集日志

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 当我们公司内部部署很多服务以及测试.正式环境的时候,查看日志就变成了一个非常刚需的需求了.是多个环境的日志统一收集 ...

最新文章

  1. MYSQL-RJWEB 博客学习
  2. 【Linux网络编程】无连接和面向连接协议的区别
  3. RecyclerView(四)设置分割线样式(Android 5.0 新特性)
  4. u8转完看不到菜单_填制凭证界面上的菜单看不见
  5. JDK_Proxy_InvocationHandler_动态代理
  6. initramfs 根文件系统
  7. 恢复 火狐浏览器书签、插件、密码等
  8. Keil 5安装教程,搭建单片机环境
  9. 解决editormd不能显示emoji问题
  10. 网络编程 udp学习笔记补充(帅帅老师讲堂)
  11. java Math类的常用方法介绍
  12. 【Python免费网站】2021学习python 5个绝佳的网站,新手小白再也不怕学不会!
  13. 从零开始带你称为MySQL实战优化高手(儒猿技术窝)
  14. 白话数据、数据项、数据元素和数据对象的概念和联系。
  15. 国内外网站空间优劣势
  16. Python学习,第七课(灵活使用Frame,让布局更舒适)
  17. Workspace Cannot Be Created
  18. Linux操作系统中的挂载和卸载U盘
  19. Fastjson反序列化讲解
  20. URDF语法详解03_joint

热门文章

  1. LyX的一些使用问题收集
  2. 华侨城集团欲借华侨城A 实现主业整合上市
  3. vs2017编译iconv
  4. 日常英语口语收集汇总
  5. 【springboot进阶】RestTemplate 集成 okhttp3 请求带p12证书
  6. ESP8266-Arduino编程实例-2.8寸TFT LCD驱动(ILI9341控制器)
  7. 计算机显示器的三原色是,显示器参数看不懂?看完你就明白啦!
  8. 【总结】Android的16ms和垂直同步以及三重缓存
  9. 2.4GHz WiFi速率测试指导及Omnipeek 空口log分析
  10. linux下常用alias