Log4J学习【七】Log4J的体系结构之docLayout的结构

 Logger规定了输出什么日志,Appender规定了日志输出到哪里,当然,我们还会奢望,以什么样的方式输出日志。这就涉及到之前我们在观察Appender的时候创建ConsoleAppender和FileAppender都需要传入的Layout。在Log4J中,Layout对象提供了以什么样的方式格式化日志。这个对象是绑定在Appender之上的,一般在Appender创建的时候指定。
    下面就简单看一个最常使用的Layout:PatternLayout。PatternLayout允许使用标准的输出格式来指定格式化日志消息的样式。举个简单的例子,可能之前大家看到的使用BasicConfigurator配置的rootLogger输出的日志样式和我们使用ConsoleAppender(new SimpleLayout)创建的输出样式完全不一样。那到底类似
0 [main] INFO cd.itcast.core.LogicProcessor  - process some logic
    这样的日志输出样式是什么样子的呢?一个代码:
@Test
public void testPatternLayout(){
    Logger log=Logger.getLogger("cd");
    String pattern="%r [%t] %-5p %c - %m%n";
    log.addAppender(new ConsoleAppender(new PatternLayout(pattern)));
    Logger log2=Logger.getLogger("cd.itcast.log");
    log2.info("log2 info");
}

    运行测试输出:
0 [main] INFO  cd.itcast.log - log2 info
    符合我们的预期。注意粗体字。首先定义了一个格式化日志的模式,在这个模式中,有很多以%开头的参数,每一个特定的参数代表着一种日志的内容。比如%r代表从Log4j启动到运行这条日志的时间差,单位为毫秒;第二个参数%t代表运行该日志的线程名称;第三个参数%-5p,首先-5代表这个字符总占用5个位置,p代表日志输出级别;%c代表输出日志的Logger的名字;%m代表输出的日志内容;%n代表分行。可以看到,其实PatternLayout的使用是非常简单的,只需要了解所有内置的参数和其表示的含义,再按照想要的方式输出即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值