博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
log4j典型配置快速上手笔记
阅读量:5971 次
发布时间:2019-06-19

本文共 1855 字,大约阅读时间需要 6 分钟。

  hot3.png

================================
#root logger配置
log4j.rootLogger=DEBUG,A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=   %-4r %-5p [%t] %37c %10x  %X{traceId} - %m%n  
-----------------------------------------------------------
#iphone.fc的logger配置
log4j.logger
.
iphone.fc=info,iphone
log4j.appender.iphone=org.apache.log4j.ConsoleAppender
log4j.appender.iphone.layout=org.apache.log4j.PatternLayout
log4j.appender.iphone.layout.ConversionPattern=[%d{MM dd HH:mm:ss}]>> %c %m%n
log4j.
additivity
iphone.fc=false
=================================================
红色部分即可以作为一个logger的名称引用此配置项,默认的配置或配置文件里面没有配置的logger name的日志会使用root logger的配置
例:
    Logger logger1 = Logger.getLogger("Sort.class"),此logger的logger name 为"Sort.class",在配置文件里面没有,则会使用root logger的配置
    Logger logger2 = Logger.getLogger(" 
iphone.fc "),此logger的logger name 为“
iphone.fc“,在配置文件里面可以找到,则会使用iphone.fc的配置
root logger为所有其他logger配置的上级,默认按root logger配置输出后再按本配置输出(即使用logger2输出日志时会先输出一条root logger格式的日志,再输出一条logger2获取的格式的日志),使用
additivity可以设置不附件root logger。
可以通过 conversion patterns 来控制日志的格式化输出

log4j.appender.A1.layout.ConversionPattern=[%d{yyyy-MM-dd hh:mm:ss SSS}]  %-4r %-5p [%t] %37c %10x  %X{traceId} - %m%n

    %d{yyyy-MM-dd hh:mm:ss SSS}:输出当前时间,格式为“年-月-日 时:分:秒 毫秒”

    %-4r:程序运行的毫秒数,-4表示输出占四个字符,左对齐;
    %-5p:日志级别,五个字符左对齐;
    %t:请求日志输出的线程;
    %37c:日志请求的logger名称,一般为Logger.getLogger(arg)设置的arg,占37个字符右对齐;
    %10x:通过NDC push的字符串;
    %X{traceId}:通过MDC put的key为traceId的值;
    %m:日志的真正内容;
    %n:输出一个换行符

Appender 为日志输出目的地,Log4j提供的appender有以下几种
 org.apache.log4j.ConsoleAppender(控制台),
 org.apache.log4j.FileAppender(文件),
 org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
 org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
 org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

转载于:https://my.oschina.net/zhdkn/blog/88806

你可能感兴趣的文章
IDE神器intellij idea的基本使用
查看>>
回收 PV - 每天5分钟玩转 Docker 容器技术(152)
查看>>
数据结构之图(存储结构、遍历)
查看>>
MySQL 5.5.35 单机多实例配置详解
查看>>
graylog 客户端的安装配置
查看>>
CentOS6.4_X86_64 安装Drupal-7.31必须成功版!
查看>>
附录B 安装MySql数据库
查看>>
驱动学习之驱动和应用的接口
查看>>
hbase region split源码分析
查看>>
MySQL备份之分库分表备份脚本
查看>>
Java 与 Netty 实现高性能高并发
查看>>
SurfControl人工智能新突破 领跑反垃圾邮件
查看>>
一个动态ACL的案例
查看>>
RSA加密
查看>>
「镁客·请讲」小乔跑步机潘忠剑:打通产品供应链,用创新建立品牌优势
查看>>
PHP编译,执行make报错
查看>>
Linux system log avahi-daemon[3733]: Invalid query packet
查看>>
面试考题
查看>>
线程状态&&Wait和sleep的区别?
查看>>
Tomcat运行报错,Annotation-specified bean name 'KY_QT_T
查看>>