log4j

Log4j 包括三个核心对象:
Logger对象: 负责获取日志信息
Layout对象: 用指定形式格式化日志信息对象
Appender对象: 负责将日志信息发布到不同的目的地,如文件,控制台,网络套接字等

Logger对象收集到日志信息后,传递给Appender对象,Appender对象根据Layout对象对日志信息进行格式化,然后写入Appender对象指定的目的地。

Log4j 使用log4j.properties作为它的配置文件
log4j.properties 的语法如下:

定义appender为appenderName, 如果想定义多个appender,可以在后面继续追加,用“,”隔开,如 appender1, appender12,...

第一个参数DEBUG定义的是log的级别: 可以取值为TRACE, DEBUG, INFO, WARN, ERROR, FATAL, ALL

其顺序为ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF;当指定level为DEBUG时,可以打印所以比它level小得log

Log4j.rootLogger = DEBUG, appenderName

上面一行指定了appender的name,下面需要对其进行具体定义

将appender定义为FileAppender,即输出到文件,具体文件为log.out

appender一般常用的就是FileAppender and ConsoleAppender, JDBCAppender

Log4j.appender.appenderName=org.apache.Log4j.FileAppender
Log4j.appender.appenderName.File = dir/log.out

我们还可以为appender定义layout

Layout可以为PatternLayout, DateLayout, HTMLLayout, SimpleLayout, XMLLayout

Log4j.appender.appenderName.layout = org.apache.Log4j.PatternLayout
Log4j.appender.appenderName.layout.conversionPattern=%m%n

这里我们有必要介绍一下conversionPattern:
它指定了我们记录日志的格式,默认为%r [%t] %p %c %x - %m%n
c: 使用它为输出的日志事件分类,比如对于分类 "a.b.c",模式 %c{2} 会输出 "b.c"
C: 使用它输出发起记录日志请求的类的全名,比如wang.jaler.HelloWorld, 模式%C{1} 输出 HelloWorld
M: 发起日志请求的方法名
d: 使用它输出记录日志的日期,比如 %d{HH:mm:ss,SSS} 或 %d{dd MMM yyyy HH:mm:ss,SSS}
m: 我们记录的具体信息内容
n: 输出平台对应的换行符
t: 输出生成日志事件的线程名

appender定义完后,可以将其添加到Logger对象:
Log4j.logger.[logger-name] = level, appender1, appender2...

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 10,447评论 0 6
  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 10,517评论 1 13
  • 一、Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layo...
    默默守护阅读 5,896评论 2 8
  • from:https://www.cnblogs.com/ITtangtang/p/3926665.html一、L...
    enshunyan阅读 8,559评论 0 0
  • 这天早上,康乔和程程还有二龙约好了一起去山上采松塔,
    若兰词话阅读 1,616评论 0 0

友情链接更多精彩内容