【SpringBoot】72、SpringBoot中接入轻量级分布式日志框架Graylog
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相关推荐
- 【Docker】9、Docker-Compose安装轻量级分布式日志服务Graylog
1.安装Docker-Compose 见博客:[Docker]8.安装Docker-Compose服务 2.Graylog简介 Graylog 是一个开源的日志聚合.分析.审计.展现和预警工具.在功能 ...
- 轻量级分布式定时任务框架XXL-Job
轻量级分布式定时任务框架XXL-Job: XXL-JOB是一款轻量级的分布式定时任务框架,上手简单,操作容易,XXL-Job可以到官网下载也可以去gitee上拉取源码,其中核心模块分页两个:1:是分布 ...
- LTS 轻量级分布式任务调度框架(Light Task Scheduler)
框架概况: LTS是一个轻量级分布式任务调度框架.有三种角色, JobClient, JobTracker, TaskTracker.各个节点都是无状态的,可以部署多个,来实现负载均衡,实现更大的负载 ...
- 轻量级分布式 RPC 框架
RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样. RPC 可基于 HTTP 或 TCP 协议,Web Servi ...
- 一个轻量级分布式RPC框架--NettyRpc
1.背景 最近在搜索Netty和Zookeeper方面的文章时,看到了这篇文章<轻量级分布式 RPC 框架>,作者用Zookeeper.Netty和Spring写了一个轻量级的分布式RPC ...
- 轻量级分布式 RPC 框架DIY(转)
http://www.csdn123.com/html/topnews201408/67/12167.htm RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点 ...
- LTS 轻量级分布式任务调度框架(Light Task Schedule) - 推酷
LTS 轻量级分布式任务调度框架(Light Task Schedule) - 推酷
- 在.NET Core中使用Exceptionless分布式日志收集框架
一.Exceptionless简介 Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF, ...
- 如何使用新一代轻量级分布式日志管理神器 Graylog 来收集日志
公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 当我们公司内部部署很多服务以及测试.正式环境的时候,查看日志就变成了一个非常刚需的需求了.是多个环境的日志统一收集 ...
最新文章
- MYSQL-RJWEB 博客学习
- 【Linux网络编程】无连接和面向连接协议的区别
- RecyclerView(四)设置分割线样式(Android 5.0 新特性)
- u8转完看不到菜单_填制凭证界面上的菜单看不见
- JDK_Proxy_InvocationHandler_动态代理
- initramfs 根文件系统
- 恢复 火狐浏览器书签、插件、密码等
- Keil 5安装教程,搭建单片机环境
- 解决editormd不能显示emoji问题
- 网络编程 udp学习笔记补充(帅帅老师讲堂)
- java Math类的常用方法介绍
- 【Python免费网站】2021学习python 5个绝佳的网站,新手小白再也不怕学不会!
- 从零开始带你称为MySQL实战优化高手(儒猿技术窝)
- 白话数据、数据项、数据元素和数据对象的概念和联系。
- 国内外网站空间优劣势
- Python学习,第七课(灵活使用Frame,让布局更舒适)
- Workspace Cannot Be Created
- Linux操作系统中的挂载和卸载U盘
- Fastjson反序列化讲解
- URDF语法详解03_joint