TLog TLog
💒首页
📚文档
💖支持
更新记录
加入群聊
  • LiteFlow - 轻量,快速,稳定可编排的组件式规则引擎 (opens new window)
  • frSimple - 中后台脚手架/小程序商城 (opens new window)
Gitee (opens new window)
Github (opens new window)
💒首页
📚文档
💖支持
更新记录
加入群聊
  • LiteFlow - 轻量,快速,稳定可编排的组件式规则引擎 (opens new window)
  • frSimple - 中后台脚手架/小程序商城 (opens new window)
Gitee (opens new window)
Github (opens new window)
  • TLog能解决什么痛点
  • 项目特性
  • 如何选择你的接入方式
  • 安装TLog

    • 全量依赖
    • 按需依赖
  • Javaagent方式

    • Javaagent接入方式
    • Java启动参数配置
    • 最终日志效果
  • 字节码注入方式

    • 字节码注入方式
    • 字节码注入具体方法
  • 日志框架适配方式

    • 日志框架适配器方式
    • Log4j框架适配器
    • Logback框架适配器
    • Log4j2框架适配器
  • 日志标签模板自定义
  • 标签位置的自定义(MDC)

    • MDC模式的说明
    • MDC模式下log4j的配置
    • MDC模式下logback的配置
    • MDC模式下log4j2的配置
  • SpanId的生成规则
  • 业务标签

    • 业务自定义标签能干嘛
    • 简单例子
    • 多个数值
    • 多数值连接符
    • 常量字符串标签
    • 点操作符
    • 自定义Convertor
  • 异步线程支持

    • 一般异步线程
    • 线程池
    • MDC模式中的异步线程
  • 对Httpclient的支持
  • 对Okhttp的支持
  • 对hutool-http的支持
  • 对servlet的支持
  • 对forest的支持
  • 对RestTemplate的支持
  • 对于mq中间件的支持
  • 对SpringCloud Gateway的支持
  • 对Soul网关的支持
  • 任务框架的支持

    • JDK TIMER任务
    • Quartz框架的支持
    • spring-scheduled的支持
    • XXL-JOB框架的支持
  • Logstash的支持

    • logback与logstash的集成
  • 自动打印调用参数和时间
  • 自定义TraceId生成器
  • Spring项目接入

    • dubbo & dubbox
    • SpringCloud的Openfeign
    • 其他配置
  • 文档
  • Logstash的支持
铂赛东
2022-09-12

logback与logstash的集成

TLog从v1.4.0开始,增加了logstash socket层面与logback的适配,使得TLog可以直接发送socket数据给logstash服务端。

同步&异步,MDC的同步&异步都支持。

提示

目前只支持了logback日志框架,对于log4j和log4j2框架暂不支持

如果想集成logstash,首先在pom中要增加一个依赖:

<dependency>
  <groupId>com.yomahub</groupId>
  <artifactId>tlog-logstash-logback</artifactId>
  <version>1.5.2</version>
</dependency>

然后需要在你的logback配置文件中新增一个appender,样例如下:

<!-- 为logstash输出的JSON格式的Appender -->
<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
  <destination>Logstash服务端IP:端口</destination>
  <keepAliveDuration>5 minutes</keepAliveDuration>
  <!-- 日志输出编码 -->
  <encoder charset="UTF-8" class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
    <providers>
      <provider class="com.yomahub.tlog.logstash.logback.TLogLogstashLogbackProvider"/>
      <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
      <pattern>
        <pattern>
          {
          "level": "%level",
          "thread": "%thread",
          "class": "%logger{40}",
          "message": "%message",
          "stack_trace": "%exception{10}",
          "client_time": "%d{yyyy-MM-dd HH:mm:ss.SSS}"
          }
        </pattern>
      </pattern>
    </providers>
  </encoder>
</appender>

这样就可以了,启动后,日志输出的同时,会把标签信息和日志信息输出到logstash中。

可以利用logstash的控制台输出信息测试,logstash的配置文件样例为:

input {
   tcp {
      port => 9800
   }
}
filter {
   json {
      source => "message"
   }
}
output {
   stdout { codec => rubydebug }
}
帮助我们改善文档 (opens new window)
last update: 2024/04/15, 11:31:20
XXL-JOB框架的支持
自动打印调用参数和时间

← XXL-JOB框架的支持 自动打印调用参数和时间→

Theme by Vdoing | Copyright © 2022-2024 铂赛东 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式