Log4j

Posted 彭澳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Log4j相关的知识,希望对你有一定的参考价值。

日志级别从小到大:DEBUG(调试)、INFO(信息)、WARN(警告)、ERROR(错误)、FATAL(致命错误)

org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

 

log4j.rootCategory=INFO, CONSOLE,LOGFILE  日志级别为info输出到控制台和文件

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender  输出到控制台
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout   布局方式
log4j.appender.CONSOLE.layout.ConversionPattern=-%p-%d{yyyy/MM/dd HH:mm:ss,SSS}-%l-%L-%m%n  打印到控制台格式

log4j.appender.LOGFILE=org.apache.log4j.FileAppender  输出到文件
log4j.appender.LOGFILE.File=D:/log4j.log  输出到文件的位置
log4j.appender.LOGFILE.Append=true  是否追加
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout  布局方式
log4j.appender.LOGFILE.layout.ConversionPattern=-%p-%d{yyyy/MM/dd HH:mm:ss,SSS}-%l-%L-%m%n  打印到文件格式

ConversionPattern参数的格式
%c 输出日志信息所属的类的全名
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28
%f 输出日志信息所属的类的类名
%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
%L 显示调用logger的代码行
%m 输出代码中指定的信息,如log(message)中的message
%n 输出一个回车换行符
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
%r 输出自应用启动到输出该日志信息所耗费的毫秒数
%t 输出产生该日志事件的线程名

以上是关于Log4j的主要内容,如果未能解决你的问题,请参考以下文章

log4j怎样控制只输出自己写的代码的日志,不输出框架中的日志

Log4j反序列化远程代码执行漏洞(CVE-2019-17571)

由log4j远程执行漏洞说起

混合 log4j 1.x 和 log4j 2

Java 标准日志工具 Log4j 的使用(附源代码)

log4jspringboot项目启动 ,使用的druid数据源,log4j报错 log4j:WARN Please initialize the log4j system properly.(代码片