博客
关于我
Log4j配置详解和实例
阅读量:806 次
发布时间: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/

你可能感兴趣的文章
Netty源码—4.客户端接入流程一
查看>>
Netty源码—4.客户端接入流程二
查看>>
Netty源码—5.Pipeline和Handler一
查看>>
Netty源码—5.Pipeline和Handler二
查看>>
Netty源码—6.ByteBuf原理一
查看>>
Netty源码—6.ByteBuf原理二
查看>>
Netty源码—7.ByteBuf原理三
查看>>
Netty源码—7.ByteBuf原理四
查看>>
Netty源码—8.编解码原理一
查看>>
Netty源码—8.编解码原理二
查看>>
Netty源码解读
查看>>
netty的HelloWorld演示
查看>>
Netty的Socket编程详解-搭建服务端与客户端并进行数据传输
查看>>
Netty的网络框架差点让我一夜秃头,哭了
查看>>
Netty相关
查看>>
Netty简介
查看>>
Netty线程模型理解
查看>>
netty解决tcp粘包和拆包问题
查看>>
Netty速成:基础+入门+中级+高级+源码架构+行业应用
查看>>
Netty遇到TCP发送缓冲区满了 写半包操作该如何处理
查看>>