Logback Layouts

前言

每次看到项目中的logback.xml都一脸懵逼,例如:

<layout class="ch.qos.logback.classic.PatternLayout">
    <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</layout> 

最近比较闲,就照着官网看一下从打印布局入手。

PatternLayout

logback定义一些关键字,他们以%开头。在运行时,会将他们转为实际的意义。为了演示效果,先写个测试类

package com.example;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class MyApp {

    private static final Logger logger = LoggerFactory.getLogger(MyApp.class);

    public static void main(String[] args) {
        logger.info("测试日志");
    }
}
关键字作用测试结果附加说明
logger{length}
c{length}
lo{length}
输出来源logger的名字com.example.MyApp在这里插入图片描述
注意最后一个单词Bar永远不会简写
class{length}输出类名com.example.MyApp生成这个不快,避免使用
contextName每个logback.xml都有一个contextName,如果没自己设置,那就是默认的:defaultdefault<contextName>测试contextName</contextName>
date{pattern, timezone}
d{pattern}
date{pattern}
d{pattern, timezone}
输出日期模板和SimpleDateFormat一样的
F / file原始的文件名MyApp.java
caller{depth}
caller{depthStart…depthEnd}
caller{depth, evaluator-1, … evaluator-n}
caller{depthStart…depthEnd, evaluator-1, … evaluator-n}
输出生成日志时间调用者的信息Caller+0 at com.example.MyApp.main(MyApp.java:11)
L / line输出调用时所在文件的行号11在这里插入图片描述生成这个不快,避免使用
m / msg / message要打印的字符串测试日志
M / method输出日志语句所在的方法名main
n换行
p / le / level输出打印语句的日志级别INFO
r / relative输出程序启动到打印日志所经历的毫秒数696
t / thread输出日志语句的线程名main

格式化

通过格式化,我们可以控制每个关键字的对齐方式,最大宽度和最小宽度。默认情况下是右对齐。左对齐符号:-,可以让他在左边补空格,最大宽度:由.+数字组成。

格式修饰符左对齐最小宽度最大宽度说明
%20logger20日志名字小于20个字符,左边补空格
%-20logger20日志名字小于20个字符,右边补空格
%.30loggerNA30日志名字大于30个字符,从左边截断
%20.30logger2030小于20个字符,左边补空格,大于30个字符,左边截断
%-20.30logger2030小于20个字符,右边补空格,大于30个字符,左边截断
%.-30loggerNA30大于30个字符,右边截断

看下效果
在这里插入图片描述()表示分组对于一个输出%-30(%d{HH:mm:ss.SSS} [%thread]) %-5level %logger{32} - %msg%n
在这里插入图片描述

颜色

可以设置输出文本的颜色,主要要包裹起来:%black(%logger)

关键字效果
%black在这里插入图片描述
%red在这里插入图片描述
%green在这里插入图片描述
%yellow在这里插入图片描述
%blue在这里插入图片描述
%magenta在这里插入图片描述
%cyan在这里插入图片描述
%white在这里插入图片描述
%gray在这里插入图片描述
%boldRed(上面各种颜色加bold和首字符大写就可以了)在这里插入图片描述
%highlight在这里插入图片描述
%highlight转换说明符以粗体红色为ERROR级别的事件打印其子模式,WARN为红色,INFO为BLUE,其他级别为默认颜色。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值