参考 logback中文手册: http://www.logback.cn/06第六章Layouts.html
模仿log4j的格式: 时间 [debug等级] [线程名] traceId 包名.方法(文件名:行数)- 日志内容
%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] traceId:[%X{TRACEID}] %logger.%method\\\(%file:%line\\\) - %msg %n
%date{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%thread] [%X{TRACE_ID}] %logger{50}#%method:%line -- %msg%n
===========================
文章记录
Java日志框架:logback详解 https://www.cnblogs.com/xrq730/p/8628945.html
logback RollingFileAppender使用详解_ouyangjun__的博客-CSDN博客
ch.qos.logback.core.rolling.RollingFileAppender 如果没有配置<rollingPolicy> 则不会有日志文件
ch.qos.logback.classic.filter.ThresholdFilter 是过滤比指定 等级 小的日志
ch.qos.logback.classic.filter.LevelFilter 可以配置多个, 针对不同的等级, 来处理是拒绝 还是接受
<logger name="com.xxx" level="DEBUG" additivity="false" />
<logger name="com.xxx.sss" level="DEBUG" />
root是所有logger的父节点
com.xxx 和 com.xxx.sss是父子关系
additivity 表示name="com.xxx"的日志是否会传递到 root 下, 设置成false则不会打印 这些包下的日志了
===========================================
marker标记的使用
MSLF4J Tutorial: Configuration Example for Logging in Java - Sematext
日志格式里面添加 %marker
public class MarkerExample {
private static final Marker IMPORTANT = MarkerFactory.getMarker("IMPORTANT");
public static void main(String[] args) {
LOGGER.info(IMPORTANT, "This is a very important log message!");
}
}
=================
常用的logback的格式: 如 %ex 异常打印的设置