springboot + log4j2 演示demo

项目中一直有使用日志,以前都是面向CV编程,今天整理了下常用的两种输出方式(ConsoleAppendert和RollingRandomAccessAppender)和经常搞混的PatternLayout格式,还有Logger节点里的additivity属性,留下个笔记。

Demo放在GitHub上,点击此处下载
ConsoleAppender点击查看示例
<Console name="console1" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss} %n"></PatternLayout>
</Console>
RollingRandomAccessAppender点击查看示例
<RollingRandomAccessFile name="file1" fileName="${fileName}/app.log"
                                 filePattern="${fileName}/$${date:yyyy-MM}/app-%d{yyyy-MM-dd}-%i.log.gz">
    <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss} [%t] %-5level %l %logger{36} %msg%n"></PatternLayout>
    <Policies>
        <TimeBasedTriggeringPolicy interval="1"/>
        <SizeBasedTriggeringPolicy size="10 MB"/>
    </Policies>
    <DefaultRolloverStrategy max="20"/>
</RollingRandomAccessFile>
PatternLayout
%d{yyyy-MM-dd 'at' HH:mm:ss}   
      日期格式,跟SimpleDateFormat 的pattern类似
      yyyy 年
      MM 月
      dd 日
      HH 时
      mm 分
      ss 秒
%t   线程名
%-5level 日志的级别
%l 输出日志发生的位置,对应的类和方法 (另:%L 只输出对应的行)
%logger 输出日志记录的名称,一般用类全名 {n}里面表示输出名称只个节点,正负数均可,只是负数是从左边开始截掉n个,正数是从右边开始截取n个
%msg  输出日志的内容
%n 换行
additivity

如果additivity为真,则会向父级包查找,而不是直接查到Root节点,
如:com.test.controller.TestController2 会找到com.test,再找到Root
所以如果访问TestController2中的接口,会记录三条日志,demo里面有详细说明
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值