IBM Enterprise Records V5.1.2    

配置 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.rm 

或者,您可以为记录器指定任何名称。例如,您可按以下语句所示将记录器命名为 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 中的 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,那么当应用程序发生问题时,不会将最后一些日志事件写入永久介质。
FileAppender

将日志消息追加至文件。

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

选项:

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


反馈

最近一次更新时间: 2013 年 11 月
configure_rm_logging.htm

© Copyright IBM Corporation 2013