既定のログ設定

JRun のインストール時に定義された既定の設定では、アプリケーションでログ イベントが発生すると、このイベントはメモリ内のキューに置かれます。その直後、制御がアプリケーションに戻されます。次に、バックグラウンド スレッドにより、キューからイベントが読み込まれ、適切な出力先に各イベントが転送されます。

次の図は、ログ メカニズムの既定の設定を示します。

この既定の設定では、次の作業が行われます。

  1. スレッド ロガーがイベント リスナとして機能します。info、warning、または error のイベントが発生すると、そのイベントが記述されているメッセージがスレッド ロガーのキューに書き込まれます。
  2. スレッド ロガーのバックグラウンド スレッドにより、キューからイベントが読み込まれ、ファイル ライターに送信されます。
  3. ファイル ライターによって、
    {jrun.rootdir}logs{jrun.server.name}-event.log ファイルにイベントが書き込まれます。
  4. ファイルのローテートを行うまでに、ログ ファイルには最大 100,000 バイトの情報を書き込むことができます。ファイルをローテートすると、ファイルの内容は別のログ ファイルに書き込まれます。最大 5 つのローテート ファイルを使用します。この値は変更できます。

ログの設定は global.properties ファイルで定義し、サーバーの場合は
local.properties ファイルで変更します。これ以降は、ログ メカニズムを構成する global.properties ファイル内のステートメントを示します。

各プロパティの詳細については、"ログ プロパティ"で説明しています。

#######################################################################
## ログ サービス
#######################################################################

# サービス クラスと情報
logging.class=allaire.jrun.logging.LoggingService 
logging.format={date MM/dd HH:mm:ss} {log.level} ({log.name})
    {log.message}
# カンマ区切りリストとしてログ レベルを指定します。
# 値は、debug、info、warning、error、metrics を組み合わせることができます。
logging.loglevel=info,warning,error
# ログ リスナを定義します。
logging.listeners=threadedlogger

# スレッド ロガー。クライアントは、バックグラウンド スレッドによって処理される
# キューにログ イベントを送信します。ログ イベントは、
# 複数のログ リスナに送信できます。
logging.threadedlogger.class=allaire.jrun.logging.ThreadedLogger
logging.threadedlogger.listeners=filelogwriter
# ログに記録するイベントを定義します。
logging.infoevent=allaire.jrun.logging.InfoLogEvent
logging.debugevent=allaire.jrun.logging.DebugLogEvent
logging.warningevent=allaire.jrun.logging.WarningLogEvent
logging.errorevent=allaire.jrun.logging.ErrorLogEvent
# ディスパッチ ロガー。このログ リスナは、各種のログ イベントを
# それに合ったリスナに渡します。
logging.dispatchlogger.class=allaire.jrun.logging.DispatchLogger
logging.dispatchlogger.events={logging.infoevent},{logging.debugevent},
    {logging.warningevent},{logging.errorevent}
logging.dispatchlogger.destinations=filelogwriter,filelogwriter,filelog
    writer,filelogwriter
# スクリーン ログ ライター。すべてのログ イベントが、単に stdout に送信されます。
logging.screenlogger.class=allaire.jrun.logging.ScreenLogWriter
# ファイル ログ ライター。1つのファイル ログ ライターをすべてのイベントタイプに使用したり、
# ディスパッチ ロガーと併用して各イベント タイプがそれぞれ独自のログを使用できます。
# ファイル名は、静的な変数 ({install.rootdir} など) と動的な変数 
# ({date}、{hour}、{day}、{month}、{year} など) のどちらでも構成できます。 
# 動的な変数を使用すると、ログ イベントのタイムスタンプが変わったときに
# ログ ファイルの名前が変わります。
logging.filelogwriter.class=allaire.jrun.logging.FileLogWriter
logging.filelogwriter.filename={jrun.rootdir}/logs/
    {jrun.server.name}-event.log
logging.filelogwriter.rotationsize=100000
logging.filelogwriter.rotationfiles=5