---配置方式一 
<?xml version="1.0" encoding="UTF-8"?>
 <configuration debug="false">
    <!--提取配置文件中的服务名-->
     <springProperty scope="context" name="springApplicationName" source="spring.application.name" />
     <property name="LOG_HOME" value="logs/demo.log" />
     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
         </encoder>
     </appender>

     <appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
         <destination>124.223.119.48:4560</destination>
         <encoder class="net.logstash.logback.encoder.LogstashEncoder" >
             <!--定义appname的名字是服务名,多服务时,根据这个进行区分日志-->
             <customFields>{"appname": "${springApplicationName}"}</customFields>
         </encoder>
     </appender>

     <root level="INFO">
         <appender-ref ref="STDOUT" />
         <appender-ref ref="logstash" />
     </root>
 </configuration>


---配置方式二
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
   <springProperty scope="context" name="springApplicationName" source="spring.application.name" />
   <property name="LOG_HOME" value="logs/demo.log" />
   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
       <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
           <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
       </encoder>
   </appender>

   <!--DEBUG日志输出到LogStash-->
   <appender name="LOG_STASH_DEBUG" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
       <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
           <level>DEBUG</level>
       </filter>
       <destination>124.223.119.48:4560</destination>
       <encoder charset="UTF-8" class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
           <providers>
               <timestamp>
                   <timeZone>Asia/Shanghai</timeZone>
               </timestamp>
               <!--自定义日志输出格式-->
               <pattern>
                   <pattern>
                       {
                       "project": "elk",
                       "level": "%level",
                       "service": "${springApplicationName:-}",
                       "pid": "${PID:-}",
                       "thread": "%thread",
                       "class": "%logger",
                       "message": "%message",
                       "stack_trace": "%exception"
                       }
                   </pattern>
               </pattern>
           </providers>
       </encoder>
   </appender>

   <root >
       <appender-ref ref="STDOUT" />
       <appender-ref ref="LOG_STASH_DEBUG" />
   </root>
</configuration>


上面是在哔哩哔哩找的教程上整理的,公司项目涉密的就不发了

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐