博客
关于我
Log4j配置详解和实例
阅读量:793 次
发布时间:2023-02-06

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

log4j日志配置详解

1. 输出级别种类

日志输出的级别主要包括以下四种:

  • ERROR(错误):表示严重错误,通常表示程序出现了严重的错误。
  • WARN(警告):表示一般性的警告信息,例如getSession()方法丢失session的情况。
  • INFO(信息):表示一般需要显示的信息,例如用户登录或注销时的提示。
  • DEBUG(调试):表示程序的调试信息,通常用于调试阶段。

2. 日志信息输出目的地

通过配置,可以指定日志信息输出到不同的地方。常见的输出目的地包括:

  • 控制台:通过org.apache.log4j.ConsoleAppender实现。
  • 文件:通过org.apache.log4j.FileAppender实现。
  • 滚动文件:通过org.apache.log4j.DailyRollingFileAppender实现,每天产生一个新的日志文件。
  • 滚动文件(按大小定频率滚动):通过org.apache.log4j.RollingFileAppender实现,当文件达到指定大小时产生新的文件。
  • 流输出:通过org.apache.log4j.WriterAppender实现,将日志信息以流格式发送到指定的地方。

3. 日志信息格式配置

日志信息的格式可以通过指定不同的布局模式来配置。常见的布局模式包括:

  • HTMLLayout:以HTML表格形式布局。
  • PatternLayout:可以灵活地指定布局模式。
  • SimpleLayout:包含日志信息的级别和信息字符串。
  • TTCCLayout:包含日志产生的时间、线程、类别等等信息。

通过配置ConversionPattern,可以定义日志信息的具体格式。例如:ConversionPattern=%d{ABSOLUTE} %5p %c{<div></div> 1}:%L - %m%n

4. 控制台选项

控制台输出可以通过以下配置进行定制:

  • Threshold:指定日志消息的输出最低层次。默认为DEBUG级别。
  • ImmediateFlush:默认为true,表示所有消息都会被立即输出。
  • Target:默认为System.out,表示输出到控制台。

5. 文件appender选项

文件appender的配置包括:

  • Threshold:指定日志消息的输出最低层次。默认为DEBUG级别。
  • ImmediateFlush:默认为true,表示所有消息都会被立即输出。
  • File:指定消息输出到文件。例如File=mylog.txt。
  • Append:默认为true,表示消息会被追加到文件中;false表示消息会覆盖文件内容。
  • MaxFileSize:指定文件的最大大小。例如MaxFileSize=100KB。
  • MaxBackupIndex:指定可以产生的滚动文件的最大数。例如MaxBackupIndex=2。

6. 滚动文件appender选项

滚动文件appender的配置包括:

  • Threshold:指定日志消息的输出最低层次。默认为DEBUG级别。
  • ImmediateFlush:默认为true,表示所有消息都会被立即输出。
  • File:指定消息输出到文件。例如File=mylog.txt。
  • Append:默认为true,表示消息会被追加到文件中;false表示消息会覆盖文件内容。
  • MaxFileSize:指定文件的最大大小。例如MaxFileSize=100KB。
  • MaxBackupIndex:指定可以产生的滚动文件的最大数。例如MaxBackupIndex=2。

7. 日志信息格式中的符号含义

日志信息格式中常用的符号及其含义包括:

  • %p:输出日志信息的优先级(DEBUG、INFO、WARN、ERROR、FATAL)。
  • %d:输出日志时间点的日期或时间,默认格式为ISO8601。例如:%d{yyy-MM-dd HH:mm:ss.SSS}。
  • %r:输出自应用启动到输出该log信息耗费的毫秒数。
  • %c:输出日志信息所属的类目,通常是所在类的全名。
  • %t:输出产生该日志事件的线程名。
  • %l:输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合。
  • %x:输出和当前线程相关联的NDC嵌套诊断环境。
  • %%:输出一个“%”字符。
  • %F:输出日志消息产生时所在的文件名称。
  • %L:输出代码中的行号。
  • %m:输出代码中指定的消息,产生的日志具体信息。
  • %n:输出一个回车换行符。Windows平台为/r/n,Unix平台为/n。

8. 格式化字符串的宽度和对齐方式

通过在格式化字符串中添加修饰符,可以控制输出的最小宽度、最大宽度和对齐方式。例如:

  • %20c:指定输出category的名称最小的宽度是20,右对齐。
  • %-20c:指定输出category的名称最小的宽度是20,左对齐。
  • %.30c:指定输出category的名称最大的宽度是30,截断左边多出的字符。
  • %20.30c:如果category的名称小于20,就补空格并右对齐;如果大于30,则截断左边多出的字符。

通过合理配置日志输出目的地、日志格式以及控制台选项,可以实现对日志信息的精确控制和管理。

转载地址:http://edufk.baihongyu.com/

你可能感兴趣的文章
Linux下tar bz gz等压缩包的压缩和解压【转自www.bitsCN.com】
查看>>
Linux下安装或升级Python 2.7
查看>>
Linux下的硬件管理与设备驱动全解析
查看>>
Linux下的系统监控与性能调优:从入门到精通
查看>>
Linux学习总结(26)——Shell常用命令总结
查看>>
Linux学习总结(45)——Linux服务器出现卡慢的基本解决方法
查看>>
Linux学习总结(65)——Linux 服务器安全强化的七个步骤
查看>>
Linux学习笔记008---Centos7中Couldn't resolve host 'mirrorlist.centos.org'
查看>>
Linux安装gcc/gcc-c++
查看>>
Linux安装JDK 17
查看>>
Linux安装JMeter进行压力测试
查看>>
Linux安装KVM
查看>>
Linux安装mysql:FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql
查看>>
Linux安装Tomcat
查看>>
Linux安装卸载Mysql数据库
查看>>
linux安装宋体
查看>>
LINUX安装源码软件经典三部曲
查看>>
linux审计功能及规则 (audit.rule)
查看>>
Linux就这个范儿 第18章 这里也是鼓乐笙箫 Linux读写内存数据的三种方式
查看>>
linux屏蔽ip端口号,linux 防火墙打开端口/屏蔽IP等
查看>>