前言
本篇主要讲如何自定义lagback日志输出
简单实现
- 创建一个空的
springboot
项目
- 自定义
Appender
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| package com.example.logback.appender;
import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.core.AppenderBase; import ch.qos.logback.core.Layout; import lombok.Getter; import lombok.Setter;
@Getter @Setter public class MyLogbackAppender extends AppenderBase<ILoggingEvent> {
Layout<ILoggingEvent> layout; String printString;
@Override public void start(){ if(layout == null) { addWarn("Layout was not defined"); } super.start(); Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
@Override public void run() {
} })); }
@Override public void stop() { System.out.println("logback-stop方法被调用"); if(!isStarted()) { return; } super.stop(); } @Override public void append(ILoggingEvent event) { if (event == null || !isStarted()){ return; } System.out.print(printString + ":" + layout.doLayout(event)); } }
|
- 将自定义的appender配置到
logback-spring.xml
后启动 springboot
项目, 即可看到自定义的日志输出。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| <?xml version="1.0" encoding="UTF-8"?> <configuration debug="false"> <property name="LOG_HOME" value="/home" /> <appender name="MyLogback" class="com.example.logback.appender.MyLogbackAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>INFO</level> </filter> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </layout> <printString>当我遇上你(logback)</printString> </appender>
<logger name="cn.lqdev.learning" level="INFO" />
<root level="INFO"> <appender-ref ref="MyLogback" /> </root>
</configuration>
|
最后
本文到此结束,感谢阅读。如果您觉得不错,请关注公众号【当我遇上你】,您的支持是我写作的最大动力。
参考