学习 Fluentd(二):收集 Spring Boot 日志

更新至 Fluentd 1.0 版本

更新至 Spring Boot 2.2.2.RELEASE 版本

Logback

Spring Boot 默认使用 Logback
记录日志。
Logback 日志文件配置:

  
    /var/logs/app/server.log
    
        /var/logs/app/history/server.%d{yyyy-MM-dd}.log.gz
        30
    
    
        %date [%thread] %-5level %logger{50}:%L - %msg%n
    

日志文件路径为 /var/logs/app/server.log,日志文件格式为 %date [%thread] %-5level %logger{50}:%L - %msg%n

in_tail 插件 和 multiline 插件

fluentd 配置:

  
  @type tail
  path /var/logs/app/server.log
  pos_file /var/logs/app/.server.log.pos
  tag server.log
  
    @type multiline
    format_firstline /\d{4}-\d{1,2}-\d{1,2}/
    format1 /^(?\d{4}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}:\d{1,2},\d{3}) \[(?.*)\] (?[^\s]+) (?.*)/
  

配置项 tail.path 指定日志路径;
配置项 tail.pos_file 指定日志文件记录最后读取位置的文件路径;
配置项 multiline.format_firstline 指定第一行的正则表达式;
配置项 multiline.formatN 指定地 N 行正则表达式。

参考