返回

用Graylog为SpringBoot应用集中收集日志

后端

SpringBoot整合Graylog做日志收集

日志是系统运行状态的晴雨表,在系统出问题时,排查问题时需要查看日志,而且日志可以帮助我们监控和优化系统的运行状态。

在微服务架构中,每个服务都作为一个独立的进程运行,这样日志也会分散在不同的服务中。如果想要查看所有的日志,就需要一个日志收集系统将所有服务的日志收集起来,集中展示。

Graylog是一个开源的日志收集系统,可以收集、存储和分析来自各种来源的日志数据。它提供了强大的搜索和过滤功能,可以帮助我们快速定位和分析日志数据。

集成步骤

1. 导入Graylog依赖

<dependency>
    <groupId>com.github.graylog2</groupId>
    <artifactId>graylog2-plugin-java</artifactId>
    <version>0.3.7</version>
</dependency>

2. 添加配置

application.properties文件中添加Graylog的配置:

logging.gelf.host=127.0.0.1
logging.gelf.port=12201
logging.gelf.facility=graylog-test
  • logging.gelf.host:Graylog的IP地址
  • logging.gelf.port:Graylog的端口号
  • logging.gelf.facility:日志发送到的设施,可以自定义

3. 添加自定义日志Appender

logback.xml文件中添加自定义日志Appender:

<configuration>
    <appender name="GELF" class="com.github.graylog2.logback.GelfAppender">
        <remoteHost>127.0.0.1</remoteHost>
        <port>12201</port>
        <facility>graylog-test</facility>
    </appender>
    <root level="INFO">
        <appender-ref ref="GELF" />
    </root>
</configuration>

4. 修改日志级别

application.properties文件中修改日志级别:

logging.level.root=INFO

测试

修改application.properties文件中的spring.profiles.activedev,运行应用程序,在Graylog中就可以看到收集到的日志。

总结

通过以上步骤,可以将SpringBoot应用程序的日志收集到Graylog中,方便我们查看和分析日志。