当前位置: 首页 > news >正文

第三百零七节 Log4j教程 - Log4j日志格式、Log4j日志到文件

Log4j教程 - Log4j日志格式

Apache log4j提供布局对象,以根据各种布局格式化日志数据。

布局类层次结构中的顶级类是抽象类org.apache.log4j.Layout。

org.apache.log4j.Layout是log4j API中所有其他Layout类的基类。

它有以下子类。

  • DateLayout

  • HTMLLayout

  • PatternLayout。

  • SimpleLayout

  • XMLLayout

布局类的方法

下表列出了Layout类中的类。

方法描述
public abstract boolean ignoresThrowable()如果忽略Throwable对象。
public abstract String format(LoggingEvent event)实现此方法以进行格式化布局。
public String getContentType()返回布局对象使用的内容类型。
public String getFooter()记录消息的页脚信息。
public String getHeader()日志消息的头信息。

Log4j教程 - Log4j日志到文件

要将信息记录到文件中,请使用org.apache.log4j.FileAppender。

下表列出了FileAppender的可配置参数。

属性描述
immediateFlush默认值为true。刷新每个追加操作的消息。
encoding更改字符编码。默认为平台特定的编码方案。
threshold此附加器的阈值级别。
Filename日志文件的名称。
fileAppend默认为true。将日志记录信息附加到同一文件的结尾。
bufferedIO是否缓冲写入。默认为false。
bufferSize如果启用了缓冲I/O,请设置缓冲区大小。默认值为8kb。

例子

以下是FileAppender的配置文件示例log4j.properties。

# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
# file name
log4j.appender.FILE.File=${log}/log.out # Set the flush to true
log4j.appender.FILE.ImmediateFlush=true# Set the threshold to debug mode
log4j.appender.FILE.Threshold=debug# Set the append to true, overwrite
log4j.appender.FILE.Append=true# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n

登录多个文件

我们可能希望将消息记录到多个文件中,例如,如果文件大小达到某个阈值,我们希望将消息记录到一个新文件。

要将信息记录到多个文件中,请使用org.apache.log4j.RollingFileAppender类,该类扩展了FileAppender类并继承其所有属性。

下表列出了除FileAppender提到的可配置参数外:

描述描述
maxFileSize将滚动文件的文件的最大大小。 默认值为10MB
maxBackupIndex设置要创建的备份文件数。默认值为1。

以下示例显示了RollingFileAppender的示例配置文件log4j.properties。

# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE# Define the file appender
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
# file name
log4j.appender.FILE.File=${log}/log.out# Set the maximum file size before rollover
log4j.appender.FILE.MaxFileSize=5KB# Set the the backup index
log4j.appender.FILE.MaxBackupIndex=2

每日日志文件

要每天生成日志文件,请使用org.apache.log4j.DailyRollingFileAppender类扩展FileAppender类。

DatePattern 控制何时滚动文件。

描述描述
DatePattern指示何时滚动文件,以及要遵循的命名约定。默认情况下每天午夜滚动。

DatePattern支持以下模式:

DatePattern描述
'.' yyyy-MM每月结束时滚动。
'.' yyyy-MM-dd在每天的中午和午夜滚动。
'.' yyyy-MM-dd-a默认值。每天午夜滚动。
'.' yyyy-MM-dd-HH滚动在每个小时的顶部。
'.' yyyy-MM-dd-HH-mm每分钟滚动一次。
'.' yyyy-ww根据区域设置,每周的第一天滚动。

以下代码显示了用于在每天的中午和午夜翻转的配置文件log4j.properties。

# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE# Define the file appender
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
# Set the name of the file
log4j.appender.FILE.File=${log}/log.out# Set the DatePattern
log4j.appender.FILE.DatePattern="." yyyy-MM-dd-a

http://www.mrgr.cn/news/63156.html

相关文章:

  • vscode 过滤不需要查看的文件
  • PCDN 维护:确保高效内容分发的关键(壹)
  • 数据结构分类
  • 面向对象编程——抽象类和接口
  • 【Matlab】基础操作汇总
  • 微信支付宝小程序SEO优化的四大策略
  • Android开发教程viewpager2点击指示标也能切换
  • (C#面向初学者的 .NET 的生成 AI) 第 2 部分-什么是 AI 和 ML?
  • 解读!中国人工智能大模型技术白皮书!
  • 基于SSM医药进出口交易系统的设计
  • 大语言模型(LLMs)在安全芯片设计中应用
  • Ubuntu 系统、Docker配置、Docker的常用软件配置(下)
  • Vite构建生产配置“build:prod“: “cross-env NODE_ENV=production vite build“含义
  • 「C/C++」C/C++标准库 之 <cstring> 字符串操作库
  • 【css】CSS 文本溢出显示省略号
  • Ubuntu最简单安装OpenCV
  • OpenCV基础01
  • 树莓派基本设置--4.网络设置
  • 9.排队模型-M/M/1
  • LabVIEW在Windows和Linux开发的差异
  • 学习记录:js算法(八十一):子集
  • C++算法第五天
  • 安捷伦E4991A E4990A阻抗分析仪LCR电桥3Ghz高频
  • js选项卡
  • qt 如何在本地进行打包
  • 什么是矩阵的秩,矩阵的秩如何计算?