IBM Enterprise Records, 版本 5.1.+            

配置 log4j.properties 文件

IBM® Enterprise Records 应用程序包括一个 log4j.properties 样本文件,您可配置该文件。

log4j.properties 文件位于 ier_install_path\ RecordsManagerSweep 文件夹中,并且您可通过在该文件中为以下各项指定值来配置日志记录行为:

log4j.properties 文件中的每个记录器均分配了一个级别。如果您未向记录器分配级别,那么 log4j 将自动向未分配的记录器分配父记录器的级别。缺省情况下,向记录器分配 WARN 级别。

您可以将 log4j.properties 文件配置为具有不同的记录器、追加器和布局设置。在运行时,log4j.properties 必须通过类路径对应用程序可用。您可以通过为语句添加 # 号前缀,注释掉样本文件中的条目;在运行时将不执行带有 # 号标记的条目。

要打开 log4j.properties 文件,请浏览至 ier_install_path\RecordsManagerSweep 文件夹,然后使用文本编辑器来打开该文件。

设置记录器和记录级别

您需要先设置记录器。您可以有多个记录器,以将您对应用程序要求的日志记录类型分类。要对 com.filenet.rm 的所有类及其子数据包启用日志记录,请指定记录器,如以下语句中所示:

log4j.logger.com.filenet.rmor 

您可以为记录器指定任何名称。例如,您可按以下语句所示将记录器命名为 APILOG:

log4j.logger.com.filenet.rm=warn, APILOG

您需要设置记录级别,以建立在运行时 log4j 记录的消息的详细级别。log4j 支持五个常用日志记录的级别,如下表所示。

表 1. 运行时 log4j 记录的消息的级别
级别 描述
DEBUG 指定对调试应用程序最有用的细颗粒度参考事件。
INFO 指定突出显示应用程序进度的粗颗粒度级别的参考消息。
WARN 指定有潜在危害的情况。
ERROR 指定可能仍允许应用程序继续运行的错误事件。
FATAL 指定将会导致应用程序终止的极严重错误事件。

有关特殊和定制记录级别的信息,请参阅 Apache Web 站点上的 log4j 文档。缺省情况下,应用程序以 WARN 级别启动。可在运行时将此级别修改为 DEBUG、INFO、ERROR、WARN 或 FATAL 级别。您还可以包括多条记录器语句,所有这些语句均用于同一记录器,但具有不同级别(例如,一条为 DEBUG 级别,其他为 WARN 级别)。您可以通过为语句添加 # 号前缀,在样本文件中注释掉 DEBUG 和 WARN 中的一个级别,并根据需要在两者间切换。在运行时将不执行带有 # 号标记的条目。没有级别的记录器将自动继承其父记录器的级别。缺省情况下,向 IBM Enterprise Records 中的 RM API 记录器分配 WARN 级别。

设置追加器

记录器与一个或多个追加器关联,以使其日志消息能够写入到输出介质。可在 log4j.properties 文件中设置不同类型的追加器,这些追加器会将日志消息发送到指定的输出位置。下表提供了 log4j.properties 文件中当前使用的所有追加器的列表,以及简短描述和相关选项。

表 2. 追加器、描述和代码段
追加器 描述和代码段
NTEventLogAppender

追加至 Microsoft Windows NT 事件日志。此追加器只能在 Windows 系统上安装及使用。

log4j.appender.APILOG=org.apache.log4j.nt.NTEventLogAppender
ConsoleAppender

使用由用户指定的布局来将日志消息追加至 System.out(缺省值)或 System.err 流。

 log4j.appender.APILOG=org.apache.log4j.ConsoleAppender

选项:

  • Threshold=WARN:此追加器将不记录优先级低于此处指定级别的所有消息,即使记录器的优先级设置较低,也是如此。这对于削减消息的数量很有用,例如,用于在控制台上显示所有消息的文件日志。
  • ImmediateFlush=true:缺省设置为 true,表示不缓冲日志消息。如果将 ImmdiateFlush 设置为 false,那么当应用程序发生问题时,可能不会将最后一些日志事件写入永久介质。建议设置为 true。
FileAppender

将日志消息追加至文件。

 log4j.appender.APILOG=org.apache.log4j.FileAppender

选项:

  • Threshold=WARN:此追加器将不记录优先级低于此处指定级别的所有消息,即使记录器的优先级设置较低,也是如此。这对于削减消息的数量很有用,例如,用于在控制台上显示所有消息的文件日志。
  • ImmediateFlush=true:缺省情况下,该选项设置为 true,表示不缓冲日志消息。如果将 ImmdiateFlush 设置为 false,那么当应用程序发生问题时,可能不会将最后一些日志事件写入永久介质。建议设置为 true。
  • File=mylog.txt:将记录到的文件名。您可使用 ${some_property_key}(例如,java.home 或 user.home 系统属性)指定路径。
  • Append=false:缺省情况下设置为 true,这表示追加至文件的末尾。如果设置为 False 将在程序每次运行时从文件开头覆盖文件。
RollingFileAppender

在日志文件达到特定大小时扩展 FileAppender,以备份日志文件。

 log4j.appender.APILOG=org.apache.log4j.RollingFileAppender

选项:

  • Threshold=INFO:此追加器将不记录优先级低于此处指定级别的所有消息,即使记录器的优先级设置较低,也是如此。这对于削减消息的数量很有用,例如,用于在控制台上显示所有消息的文件日志。
  • ImmediateFlush=true:缺省情况下,该选项设置为 true,表示不缓冲日志消息。如果将 ImmdiateFlush 设置为 false,那么当应用程序发生问题时,可能不会将最后一些日志事件写入永久介质。建议设置为 true。
  • File=mylog.txt:将记录到的文件名。您可使用 ${some_property_key}(例如,java.home 或 user.home 系统属性)指定前面的路径。
  • Append=false:缺省情况下,该选项设置为 true,这表示追加至文件的末尾。如果设置为 false 将在程序每次运行时从文件开头覆盖文件。
  • MaxFileSize=100KB:后缀,可以是 KB、MB 或 GB。当达到此大小后,滚动日志文件。追加采用了一个布尔值,用于确定将覆盖 (false) 还是追加 (true) 到输出文件。将该值设置为 false (default) 可使文件不会无限增长,对于偶尔执行一次性运行的开发环境,建议使用此值。将该值设置为 true,会在 JVM 每次运行时将输出追加至现有日志文件。您可以通过设置 MaxFileSize 关键字来限制输出文件的大小。例如,如果您配置了一个输出文件 cjapi_log.txt,其中 MaxFileSize=128KB 且 MaxBackupIndex=1,当文件超过 128 KB 时,其内容将自动移动到 cjapi_log.txt.1 中,然后继续向空的 cjapi_log.txt 文件中写入。
  • MaxBackupIndex=2:保留最多(例如)2 个备份文件。将擦除旧文件。0 表示不保留备份文件。

设置布局

您可在 log4j.properties 文件中设置指定日志消息格式的不同布局。 您可将日志消息指定为包括日期、时间、模块名称、以及线程名称等。这些配置设置在运行时在记录消息期间使用。

下表提供了 IBM Enterprise Records log4j.properties 文件中当前使用的所有布局的列表,以及简要描述和相关选项。

表 3. 布局和描述
布局 描述和代码段
SimpleLayout

打印级别,然后日志消息文本后会跟一个破折号 (-)。

org.apache.log4j.SimpleLayout
PatternLayout

根据特定转换模式格式化日志记录事件。转换模式由字面值文本和转换文本组成。字面值文本将原样输出。转换说明符由 % 字符后接可选格式修饰符和必选转换字符组成。例如,%-5p [%t]: %m%n 是由以下各项组成的转换模式:优先级(也称为级别)转换说明符,后接字面值文本“ [”,后接线程转换说明符,后接字面值文本“]: ”,后接消息转换说明符和系统相关行分隔符。

org.apache.log4j.PatternLayout

选项:

  • ConversionPattern=%-5p, [%t]:%m%n:如何格式化每条日志消息(包括哪些信息)。
HTMLLayout

将输出格式化为 HTML 表。

org.apache.log4j.HTMLLayout

选项:

  • LocationInfo=true:输出 Javaâ 文件名和行号。缺省设置为 false。
  • Title=My app title:设置 HTML 的 <title> 标记。缺省设置为“Log4J Log Messages”。
 

将输出格式化为 XML。

org.apache.log4j.xml.XMLLayout

选项:

  • LocationInfo=true:输出 Java 文件名和行号。缺省设置为 false。

IBM Enterprise Records 随附的 log4j.properties 文件将 PatternLayout 用于日志消息格式。下表提供了可在配置文件中声明的转换模式的列表,及其简要描述:

表 4. 转换模式和描述
模式 描述
%t 生成日志请求的线程的名称
%c 与日志请求关联的记录器的名称
%-60c 将记录器名称向左对齐最少 60 个空格
%r 从应用程序启动开始已过去的毫秒数
%p 日志语句的级别
%m 消息
%Time 发生日志记录的时间
%d 日志记录事件的日期
%n 新行

以下代码语句显示了如何启用 PatternLayout 并指定一个简单的转换模式:

log4j.appender.APILOG.layout=org.apache.log4j.PatternLayout
log4j.appender.APILOG.layout.ConversionPattern=%-5p %d {dd MMM yyyy HH:mm:ss,SSS}, -%m, %r, [%M] % n

例如:

WARN, 20 Jun 2005 14:48:20,900, -[enter] getObjectStoreXML(ObjectStores), 102042, [setLoggerMessage]
WARN, 20 Jun 2005 14:48:21,100, -[exit] getObjectStoreXML(ObjectStores), 102342, [setLoggerMessage]


反馈

最近一次更新时间: 2011 年 8 月


© Copyright IBM Corporation 2011.
本信息中心基于 Eclipse 技术。(http://www.eclipse.org)