0
点赞
收藏
分享

微信扫一扫

log4j.properties笔记,和slf4j,参数等


虽然一直在用log4j,但是实际对它还不够了解,今天做下笔记。

文章目录

  • ​​rootLogger​​
  • ​​appender​​
  • ​​console​​
  • ​​FileAppender​​
  • ​​FileAppender​​
  • ​​RollingFileAppender​​
  • ​​DailyRollingFileAppender​​
  • ​​设置年月日​​
  • ​​appender 日志格式​​
  • ​​日志级别​​
  • ​​其他​​
  • ​​log4j区分大小写吗​​
  • ​​log4j和slf4j的区别​​

rootLogger

语法:
log4j.rootLogger = [ level ] , appenderName, appenderName, …
示例:
log4j.rootLogger = INFO , CONSOLE, appenderName, …

也就是说后面可以跟日志级别,以及记录期名称。

appender

appender是log4j中很重要的一个元素。叫:追加器,日志记录期 都行。 主要负责日志的输出。
常见的有console、fileAppender2类。

console

标准控制台输出。

#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n

当然也可以自定义名称。

#Console2
log4j.appender.Console2=org.apache.log4j.ConsoleAppender
log4j.appender.Console2.layout=org.apache.log4j.PatternLayout
log4j.appender.Console2.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n

FileAppender

FileAppender

#File
log4j.appender.File = org.apache.log4j.FileAppender # 哪种appender
log4j.appender.File.File = d://log4j2.log # appender 文件名
log4j.appender.File.layout = org.apache.log4j.PatternLayout # appender的布局
log4j.appender.File.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n # appender的布局格式

RollingFileAppender

log4j.rootCategory=info, Console,File

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.base}/logs/portal.log
log4j.appender.R.Encoding=GBK
log4j.appender.R.MaxFileSize=256KB
log4j.appender.R.Append=true
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-d %t %-5p [%c{1}:%L] %m%n

DailyRollingFileAppender

log4j.rootCategory=INFO, CONSOLE,DailyRolling
log4j.appender.DailyRolling=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DailyRolling.File=${catalina.base}/logs/portal.log
log4j.appender.DailyRolling.DatePattern=yyyy-MM-dd'.log'
log4j.appender.DailyRolling.layout=org.apache.log4j.PatternLayout
log4j.appender.DailyRolling.layout.ConversionPattern=%-d %t %-5p [%c{1}:%L] %m%n

设置年月日

'.'yyyy-MM-dd'.log'  按天生成,这个用的最多
'.'yyyy-MM-dd-HH'.log' 按小时生成
'.'yyyy-MM-dd-HH-mm'.log' 按分钟生成

appender 日志格式

appender日志格式
%c 输出所属类的全名,可在修改为 %d{Num} ,Num类名输出的维(如:"org.apache.elathen.ClassName",%C{2}将输出elathen.ClassName)
%d 输出日志时间其格式为 %d{yyyy-MM-dd HH:mm:ss,SSS},可指定格式 如 %d{HH:mm:ss}
%l 输出日志事件发生位置,包括类目名、发生线程,在代码中的行数 注:实测无效,报错%PARSER_ERROR[l]
%n 换行符
%m 输出代码指定信息,如info(“message”),输出message
%p 输出优先级,即 FATAL ,ERROR 等
%r 输出从启动到显示该log信息所耗费的毫秒数 注:是项目启动,到打印当前日志的时间,没什么意义,所以一般用不到
%t 输出产生该日志事件的线程名

​%​​​百分号是什么意思? 通常用来表示变量。
那么​​​%X​​​呢,一般用来表示自定义变量。如:​​%X{requestId}​

日志级别

略。

其他

log4j区分大小写吗

好问题。

log4j和slf4j的区别

slf4j是日志接口,是抽象的。 他可以有多种实现方式,例如log4j,logback等。
log4j是slf4j的一种实现。


举报

相关推荐

0 条评论