首页IT科技springboot引入logback(springboot~logback按level添加不同的颜色)

springboot引入logback(springboot~logback按level添加不同的颜色)

时间2025-07-30 01:02:05分类IT科技浏览5354
导读:对于logback的模板来说,我们是可以自定义的,同时它也提供了一些公开的常量,比如%level,%thread这些,我们如果希望自定义这些常量,需要实现ClassicConverter抽象类,重写它的convert方法。...

对于logback的模板来说              ,我们是可以自定义的                     ,同时它也提供了一些公开的常量       ,比如%level,%thread这些       ,我们如果希望自定义这些常量                     ,需要实现ClassicConverter抽象类              ,重写它的convert方法              。

系统变量

%thread 当前线程 %d{yyyy-MM-dd HH:mm:ss.SSS} 当前日期时间 %level 日志级别 %msg 日志主体 %n 换行

自定义变量ClassicConverter

ClassicConverter对象负责从ILoggingEvent 提取信息       ,并产生一个字符串                     。例如                     ,LoggerConverter              ,它是处理“% logger              ”转换符的转换器,

它从ILoggingEvent提取logger 的名字并作为字符串返回       。 例如                     ,一个按日志级别实现的颜色转化器 /** * 日志模板:基于日志级别的颜色的转换器 */ public class LevelColorClassicConverter extends ClassicConverter { private static final String END_COLOR = "\u001b[m"; private static final String ERROR_COLOR = "\u001b[0;31m"; private static final String WARN_COLOR = "\u001b[0;33m"; @Override public String convert(ILoggingEvent event) { StringBuffer sbuf = new StringBuffer(); sbuf.append(getColor(event.getLevel())); String result = String.format("%5s", event.getLevel()); sbuf.append(result); sbuf.append(END_COLOR); return sbuf.toString(); } /** * Returns the appropriate characters to change the color for the specified logging * level. */ private String getColor(Level level) { switch (level.toInt()) { case Level.ERROR_INT: return ERROR_COLOR; case Level.WARN_INT: return WARN_COLOR; default: return ""; } } } 配置和模板 <conversionRule conversionWord="color" converterClass="com.lind.common.LevelColorClassicConverter" /> <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ${springAppName} %ip [%thread] %color %msg%n</pattern> </layout> </appender>

运行截图

通过这个例子                     ,我们也可以自定义输出服务器的IP地址等,像链路追踪traceId也是通过这种方式进行追加的       。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
vue导出excel文件(vue实现导出word文档(含多张图片)) rpc是啥(rpcclient.exe – rpcclient是什么进程 有什么用)