ELK框架(4:logback-spring.xml配置)
-定义appname的名字是服务名,多服务时,根据这个进行区分日志-->--自定义日志输出格式-->--DEBUG日志输出到LogStash-->上面是在哔哩哔哩找的教程上整理的,公司项目涉密的就不发了。--提取配置文件中的服务名-->
---配置方式一
<?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>
上面是在哔哩哔哩找的教程上整理的,公司项目涉密的就不发了
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)