Sun Java System Instant Messaging 7.2 管理ガイド

log4j による Instant Messaging ロギングの管理

Instant Messaging をインストールするとき、log4j 設定ファイルのテンプレートファイル (log4j.conf.template) が im-svr-base/lib ディレクトリにインストールされます。インストール後に configure ユーティリティーを実行すると、このテンプレートを使用して、log4j 設定ファイル (log4j.conf) が im-cfg-base ディレクトリに作成されます。この設定ファイルは、log4j によって生成されるログファイルの格納場所、各種のコンポーネントに対して使用するロギングレベル、出力構文、生成するログファイルの種類を決定するために使用されます。

この節では、log4j ロガーを使用した Instant Messaging のログファイル生成について次の各項で説明します。

「Instant Messaging コンポーネントのロギングレベル」で説明したロギングレベルは、log4j ロガーによって使用されます。

log4j の詳細と、サイズ、バックアップ数などの各種ログファイルの設定手順については、Apache Logging Services Web サイト を参照してください。

Instant Messaging log4j 設定ファイル (log4j.conf) の場所

log4j 設定ファイル (log4j.conf ) の場所を変更するには、iim.confiim.log4j.config パラメータを変更します。このパラメータの値を指定しない場合、ロガーは im-cfg-base からファイルを探します。そのディレクトリに log4j 設定ファイルが見つからない場合、ロガーは iim.conf のロギングパラメータを使用して、log4j スタイルではないログを生成します。

im-cfg-base の場所については、「Instant Messaging サーバーのディレクトリ構造」を参照してください。

Instant Messaging log4j ログファイルの構文

configure ユーティリティーは、log4j 設定ファイルテンプレート (log4j.conf.template) の内容に基づいて、log4j 設定ファイル (log4j.conf ) を生成します。例 13–1 に log4j テンプレートを示します。テンプレートの内容は次のとおりです。


例 13–1 log4j テンプレートファイル


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

Instant Messaging コンポーネントの log4j ログレベル

log4j ロガーは、iim.conf のパラメータに基づくロギング機構に関して 「Instant Messaging コンポーネントのロギングレベル」で説明したものと同じロギングレベルを使用します。

Procedurelog4j 設定ファイル (Log4j.conf) の場所を指定する

  1. iim.conf を開きます。

    このファイルの場所については、iim.conf ファイルの場所」を参照してください。

  2. 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
    
  3. iim.conf を保存して閉じます。

  4. サーバーを更新します。


    imadmin refresh
    

ProcedureInstant Messaging コンポーネントの log4j ロギングを有効または無効にする

デフォルトでは、ロギング情報が生成されるすべてのコンポーネントで log4j ロギングが使用されます。

  1. log4j ロギングを無効にするには、log4j.conf および log4j.conf.template の両方で、コンポーネントのロギングレベルを OFF に設定します。

    詳細は、「Instant Messaging の log4j ログレベルを設定する」を参照してください。

  2. log4j ロギングを有効にするには、log4j.conf および log4j.conf.template の両方で、コンポーネントのロギングレベルを OFF 以外の任意のロギングレベルに設定します。

ProcedureInstant Messaging の log4j ログレベルを設定する

テンプレートファイルまたはログ設定ファイルのどちらかを変更することによって、ログレベルを設定できます。ただし、設定ファイルのみを変更した場合、行なった変更は、次に configure ユーティリティーを実行したときにすべて上書きされます。これを防ぐために、設定ファイルとテンプレートの両方に変更を行うようにしてください。

  1. log4j.conf.template を開きます。

    デフォルトでは、このファイルは次の場所に格納されています。


    im-svr-base/lib
  2. コンポーネントごとに、使用するロギングレベルを指定します。

    たとえば、次のようにしてサーバーのログレベルを設定します。


    log4j.logger.xmppd=log-level
    

    log-level は、FATALERRORWARNINGINFO、または DEBUG のいずれかです。

    これらの各ロギングレベルの詳細については、表 13–1 を参照してください。

  3. log4j.conf.template を保存して閉じます。

  4. 設定ファイル log4j.conf に対しても同じ手順を繰り返します。

ProcedureInstant Messaging コンポーネントの最大 log4j ログファイルサイズを指定する

テンプレートファイルまたはログ設定ファイルのどちらかを変更することによって、ログファイルサイズを設定できます。ただし、設定ファイルのみを変更する場合、行なった変更は、次に configure ユーティリティーを実行したときにすべて上書きされます。これを防ぐために、設定ファイルとテンプレートの両方に変更を行うようにしてください。

  1. log4j.conf.template を開きます。

    デフォルトでは、このファイルは次の場所に格納されています。


    im-svr-base/lib
  2. コンポーネントごとに、コンポーネントのログファイルの最大サイズを指定します。

    たとえば、サーバーログファイルのサイズを設定するには、次のようにします。


    log4j.appender.A1.maxFileSize=max-logfile-size
    

    A1 はサーバーのデフォルトアペンダ ID、max-logfile-size は M バイト単位のサイズ (例: 5MB) です。

  3. 設定ファイル log4j.conf に対しても同じ手順を繰り返します。