当前位置: 首页 > article >正文

spring日志输出到elasticsearch

1.maven

        <!--日志elasticsearch-->
        <dependency>
            <groupId>com.agido</groupId>
            <artifactId>logback-elasticsearch-appender</artifactId>
            <version>3.0.8</version>
        </dependency>
        <dependency>
            <groupId>net.logstash.logback</groupId>
            <artifactId>logstash-logback-encoder</artifactId>
            <version>7.3</version>
        </dependency>
        <!--   elasticsearch依赖     -->
        <dependency>
            <groupId>co.elastic.clients</groupId>
            <artifactId>elasticsearch-java</artifactId>
            <version>8.7.1</version>
        </dependency>

2.logback.xml配置

    <!--输出到logstash的appender-->
    <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <!--可以访问的logstash日志收集端口-->
        <destination>ip:port</destination>
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
            <customFields>{"serviceId":"web-app"}</customFields>
            <includeMdcKeyName>startTime</includeMdcKeyName>
            <includeMdcKeyName>endTime</includeMdcKeyName>
            <includeMdcKeyName>requestRawJson</includeMdcKeyName>
            <includeMdcKeyName>responseRawJson</includeMdcKeyName>
            <includeMdcKeyName>responseTime</includeMdcKeyName>
            <includeMdcKeyName>url</includeMdcKeyName>
            <includeMdcKeyName>method</includeMdcKeyName>
            <includeMdcKeyName>path</includeMdcKeyName>
        </encoder>

        <writeBufferSize>32000</writeBufferSize>
    </appender>

    <!--所有错误日志都打印-->
    <root level="ERROR">
        <appender-ref ref="LOGSTASH"/>
        <appender-ref ref="FILE"/>
    </root>

    <!--项目mis包下日志-->
    <logger name="xxx" level="${LOG_LEVEL}" additivity="false">
        <appender-ref ref="LOGSTASH"/>
        <appender-ref ref="FILE"/>
    </logger>
    <!-- hibernate sql日志 -->
    <logger name="org.hibernate.SQL" level="WARN"/>

3.日志记录情况


http://www.kler.cn/a/156966.html

相关文章:

  • Android音频架构
  • [Docker#8] 容器配置 | Mysql | Redis | C++ | 资源控制 | 命令对比
  • AtomicInteger 和 AtomicIntegerFieldUpdater的区别
  • 物理设备命名规则(Linux网络服务器 15)
  • ReactPress技术揭秘
  • C#程序开发,检测当前电脑已经安装的软件目录
  • 【有机化学(药学类)】醛和酮3
  • 刷题系列——排序算法
  • Python面向对象③:封装【侯小啾Python基础领航计划 系列(二十一)】
  • 5.【自动驾驶与机器人中的SLAM技术】2D点云的scan matching算法 和 检测退化场景的思路
  • Android之 知识总结第二篇
  • 用python写一个简单的爬虫
  • 三次握手四次挥手
  • Google Protocol Buffers (proto3) 中的 DoubleValue 类型用法总结
  • linux创建新的py文件
  • 电商项目之Web实时消息推送(附源码)
  • 入门Python+Vue 全栈开发高级BI数据的可视化实战项目几个技术点总结
  • 2023年全国硕士研究生入学统一考试管理类专业学位联考逻辑试题——解析版
  • 131. 分割回文串
  • JMeter从入门到精通
  • 个人Windows电脑通过Cloudreve+Cpolar搭建PHP云盘系统公网可访问
  • 机器学习(1)机器学习类型和机器学习的主要概念
  • 练习十一:简单卷积器的设计
  • 纯C读取文件实现解析H264裸流每一帧数据
  • 回归分析:预测和建模
  • Git 简介及异常场景处理