博客
关于我
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/

你可能感兴趣的文章
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_插入修改删除增量数据实时同步_通过分页解决变更记录过大问题_01----大数据之Nifi工作笔记0053
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
查看>>
NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_生成插入Sql语句_实际操作02---大数据之Nifi工作笔记0041
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_不带分页处理_01_QueryDatabaseTable获取数据_原0036---大数据之Nifi工作笔记0064
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
查看>>
NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
查看>>
nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
查看>>
NIFI分页获取Mysql数据_导入到Hbase中_并可通过phoenix客户端查询_含金量很高的一篇_搞了好久_实际操作05---大数据之Nifi工作笔记0045
查看>>
NIFI分页获取Postgresql数据到Hbase中_实际操作---大数据之Nifi工作笔记0049
查看>>
NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
查看>>
Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
查看>>
NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
查看>>
NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_处理器介绍_处理过程说明---大数据之Nifi工作笔记0019
查看>>
NIFI大数据进阶_Json内容转换为Hive支持的文本格式_操作方法说明_01_EvaluteJsonPath处理器---大数据之Nifi工作笔记0031
查看>>
NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka消费者处理器_来消费kafka数据---大数据之Nifi工作笔记0037
查看>>