当您安装 Instant Messaging 时,log4j 配置文件的模板文件 (log4j.conf.template) 会安装到 im-svr-base/lib 目录中。当安装后运行 configure 实用程序时,该模板用于在 im-cfg-base 目录中创建 log4j 配置文件 (log4j.conf)。此配置文件用于确定存储 log4j 生成的日志文件的位置、用于各种组件的日志记录级别、输出语法以及确定生成什么日志文件。
本节中的以下各部分说明使用 log4j 记录程序生成 Instant Messaging 的日志文件:
log4j 记录程序使用 Instant Messaging 组件日志记录级别中所述日志记录级别。
有关 log4j 的更多信息以及有关日志文件配置方面的说明(例如大小、备份数等),参见Apache 日志记录服务网站。
您可以更改 log4j 配置文件 (log4j.conf ) 的位置,方法是修改 iim.conf 中的 iim.log4j.config 参数。如果您没有指定此参数的值,记录程序将在 im-cfg-base 中查找。如果记录程序在该目录中没有找到 log4j 配置文件,它会使用 iim.conf 中的日志记录参数来生成非 log4j 样式的日志。
有关查找 im-cfg-base 的信息,参见Instant Messaging 服务器目录结构。
配置实用程序基于 log4j 配置文件模板 (log4j.conf.template) 的内容生成 log4j 配置文件 (log4j.conf)。示例 13–1 所示为 log4j 模板。 在此模板中:
${logdir} 对应您在配置过程中指定的想要存储日志文件的目录。参见Instant Messaging 日志文件位置。
每个组件的日志配置部分均以下列文本开头:
log4j.logger. |
其中:
生成 xmppd.log,它包含服务器的日志记录信息。
生成 wd.log,它包含监视程序的信息。
生成 xfer.log,它仅包含 XMPP 流量。
生成“日历”代理的日志记录信息。
生成 jso.log,包含 Jabber 流对象的信息。有关更多信息,参见Jabber 流对象网站。
生成 genredirect.log,它包含重定向数据库创建工具的信息。
A#,例如 A1,为 appender ID。
log4j.logger.xmppd=INFO, A1 # DEFAULT TO RollingFileAppender log4j.appender.A1=org.apache.log4j.RollingFileAppender log4j.appender.A1.file=${logdir}/xmppd.log log4j.appender.A1.append=true log4j.appender.A1.maxBackupIndex=7 log4j.appender.A1.maxFileSize=5mb # More example appenders.. # Straight to console.. # log4j.appender.A1=org.apache.log4j.ConsoleAppender # log4j.appender.A1.ImmediateFlush=true # Rollover at midnight.. # log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender # log4j.appender.A1.DatePattern='.'yyyy-MM-dd # log4j.appender.A1.file=${logdir}/xmppd.log # log4j.appender.A1.ImmediateFlush=true # log4j.appender.A1.append=true # Send to SMTP.. # log4j.appender.A1=org.apache.log4j.SMTPAppender # PATTERN LAYOUT AND OPTIONS # DEFAULT TO PatternLayout log4j.appender.A1.layout=org.apache.log4j.PatternLayout # For full dates.. log4j.appender.A1.layout.ConversionPattern=[%d{DATE}] %-5p %c [%t] %m%n # IM traditional output format.. #log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p %c [%t] %m%n # More example layouts # XMLLayout for chainsaw consumption # log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout # TTCCLayout for NDC information # log4j.appender.A1.layout=org.apache.log4j.xml.TTCCLayout # log4j.appender.A1.layout.DateFormat=ISO8601 # log4j.appender.A1.layout.TimeZoneID=GMT-8:00 # log4j.appender.A1.layout.CategoryPrefixing=false # log4j.appender.A1.layout.ThreadPrinting=false # log4j.appender.A1.layout.ContextPrinting=false # Now we list logger/appender/layout for the other default loggers, but # only the defaults.. log4j.logger.iim_wd=ERROR, A2 log4j.appender.A2=org.apache.log4j.RollingFileAppender log4j.appender.A2.file=${logdir}/iim_wd.log log4j.appender.A2.append=true log4j.appender.A2.maxBackupIndex=7 log4j.appender.A2.maxFileSize=5mb log4j.appender.A2.layout=org.apache.log4j.PatternLayout log4j.appender.A2.layout.ConversionPattern=[%d{DATE}] %-5p %c [%t] %m%n # For separate xmpp traffic log, disabled by default. log4j.logger.xmppd.xfer=DEBUG, A3 log4j.appender.A3=org.apache.log4j.varia.NullAppender # Select next block instead of previous line to enable separate transfer log # log4j.appender.A3=org.apache.log4j.RollingFileAppender # log4j.appender.A3.file=${logdir}/xfer.log # log4j.appender.A3.append=true # log4j.appender.A3.maxBackupIndex=7 # log4j.appender.A3.maxFileSize=5mb # log4j.appender.A3.layout=org.apache.log4j.PatternLayout # # Note, simpler default output than above 3 loggers: # log4j.appender.A3.layout.ConversionPattern=[%d{DATE}] %-5p %c [%t] %m%n log4j.logger.agent-calendar=ERROR, A4 log4j.appender.A4=org.apache.log4j.RollingFileAppender log4j.appender.A4.file=${logdir}/agent-calendar.log log4j.appender.A4.append=true log4j.appender.A4.maxBackupIndex=7 log4j.appender.A4.maxFileSize=5mb log4j.appender.A4.layout=org.apache.log4j.PatternLayout log4j.appender.A4.layout.ConversionPattern=[%d{DATE}] %-5p %c [%t] %m%n log4j.logger.net.outer_planes.jso.BasicStream=OFF, A5 log4j.appender.A5=org.apache.log4j.RollingFileAppender log4j.appender.A5.file=${logdir}/jso.log log4j.appender.A5.append=true log4j.appender.A5.maxBackupIndex=7 log4j.appender.A5.maxFileSize=5mb log4j.appender.A5.layout=org.apache.log4j.PatternLayout log4j.appender.A5.layout.ConversionPattern=[%d{DATE}] %-5p %c [%t] %m%n log4j.logger.genredirect=INFO, A6 log4j.appender.A6=org.apache.log4j.RollingFileAppender log4j.appender.A6.file=${logdir}/genredirect.log log4j.appender.A6.append=true log4j.appender.A6.maxBackupIndex=7 log4j.appender.A6.maxFileSize=5mb log4j.appender.A6.layout=org.apache.log4j.PatternLayout log4j.appender.A6.layout.ConversionPattern=[%d{DATE}] %-5p %c [%t] %m%n |
log4j 记录程序使用与 Instant Messaging 组件日志记录级别中所述的基于 iim.conf 参数的日志记录机制相同的日志记录级别。
打开 iim.conf。
有关查找此文件的信息,参见iim.conf 文件位置。
将 iim.log4j.config 参数设置为您想要记录程序在其中查找 log4j.conf 的路径。
例如,在 Solaris 中:
iim.log4j.config=/etc/opt/SUNWiim/default/config/log4j.conf |
在 Linux 中:
iim.log4j.config=/etc/opt/sun/im/default/config/log4j.conf |
保存并关闭 iim.conf。
刷新服务器。
imadmin refresh |
默认情况下,log4j 日志记录用于所有要生成日志记录信息的组件。
要禁用 log4j 日志记录,可在 log4j.conf 和 log4j.conf.template 中将该组件的日志记录级别设为 OFF。
有关更多信息,参见设置 Instant Messaging 的 Log4j 日志级别。
要启用 log4j 日志记录,可在 log4j.conf 和 log4j.conf.template 中将该组件的日志记录级别设为 OFF 以外的任何日志记录级别。
您可以通过修改模板或日志配置文件来设置日志级别。不过,如果您只修改配置文件,下次运行 configure 时将覆盖所有修改。要避免如此,您应同时修改配置文件和模板。
打开 log4j.conf.template。
默认情况下,此文件存储在以下位置:
im-svr-base/lib |
对每个组件,指定您想要使用的日志记录级别。
例如,设置服务器的日志级别:
log4j.logger.xmppd=log-level |
其中,log-level 为 FATAL、ERROR、WARNING、INFO 或 DEBUG 之一。
有关这些日志记录级别的详细信息,参见表 13–1。
保存并关闭 log4j.conf.template。
对配置文件 log4j.conf 重复该过程。
您可以通过修改模板或日志配置文件来设置日志级别。不过,如果您只修改配置文件,下次运行 configure 时将覆盖所有修改。要避免如此,您应同时修改配置文件和模板。