このセクションでは、ログ メカニズムの設定例についていくつか説明します。
この例では、警告メッセージとエラー メッセージのみを 2 つのファイルに書き込みます。2 つのファイル ライターを設定します。1 つは警告用で、1 つはエラー用です。次の図は、この構成を示します。
これらのステートメントによって、警告メッセージを warning.log というファイルに、エラー メッセージを error.log というファイルに書き込むプロパティが定義されます。既定のプロパティ設定への変更は太字で示します。変更をコメントによって説明します。
logging.class=allaire.jrun.logging.LoggingService
.format={date MM/dd hh:mm:ss} {log.level} ({log.name}) {log.message}
# ログ警告およびエラー メッセージ
logging.loglevel=warning,error
# ログ リスナを定義します。
logging.listeners=threadedlogger
# イベント リスナとして機能する、スレッド ロガーを定義します。
logging.threadedlogger.class=allaire.jrun.logging.ThreadedLogger
# ディスパッチ ロガーをスレッド ロガーのリスナとして定義します。
logging.threadedlogger.listeners=dispatchlogger
# イベントをファイル ライターに転送するディスパッチ リスナを定義します。
logging.dispatchlogger.class=allaire.jrun.logging.DispatchLogger
# イベントを定義します。このステートメント内のイベントの順序に注目してください。
logging.dispatchlogger.events=
{logging.warningevent},{logging.errorevent}
# 送信先ロガーを定義します。
# この順序は、ステートメント内のイベントの順序に一致します。
logging.dispatchlogger.destinations=fileWarnWriter,fileErrWriter
# 警告用のファイル ライターを定義します。
logging.fileWarnWriter.class = allaire.jrun.logging.FileLogWriter
logging.fileWarnWriter.filename = {jrun.rootdir}/logs/warning.log
logging.fileWarnWriter.rotationsize = 100000
logging.fileWarnWriter.rotationfiles = 5
# エラー用のファイル ライターを定義します。
logging.fileErrWriter.class = allaire.jrun.logging.FileLogWriter
logging.fileErrWriter.filename = {jrun.rootdir}/logs/errors.log
logging.fileErrWriter.rotationsize = 100000
logging.fileErrWriter.rotationfiles = 5
この例では、警告メッセージをファイルに、エラー メッセージをファイルと電子メールに書き込みます。
この例では、スレッド ロガーからイベントを受信する 2 つのリスナが定義されています。ディスパッチ ロガーにより、スレッド ロガーからのイベントが受け取られ、定義された 2 つのファイル ライターのどちらかにこれらのイベントが転送されます。電子メール リスナにより、エラー イベントが監視され、これらのイベントに対する電子メール メッセージが生成されます。
これらのステートメントによって、この例のプロパティを定義します。既定のプロパティ設定への変更は太字で示します。変更をコメントによって説明します。
logging.class=allaire.jrun.logging.LoggingService
.format={date MM/dd hh:mm:ss} {log.level} ({log.name}) {log.message}
# ログ警告およびエラー メッセージ
logging.loglevel=warning,error
# イベント リスナを指定します。
logging.listeners=threadedlogger
# イベント リスナとして機能する、スレッド ロガーを定義します。
logging.threadedlogger.class=allaire.jrun.logging.ThreadedLogger
# スレッド ロガーのリスナを定義します。
logging.threadedlogger.listeners=dispatchlogger,emailErrWriter
# イベントをファイル ライターに転送するディスパッチ リスナを定義します。
logging.dispatchlogger.class=allaire.jrun.logging.DispatchLogger
# イベントを定義します。このステートメント内のイベントの順序に注目してください。
logging.dispatchlogger.events=
{logging.warningevent},{logging.errorevent}
# 送信先ロガーを定義します。
# この順序は、ステートメント内のイベントの順序に一致します。
logging.dispatchlogger.destinations=fileWarnWriter,fileErrWriter
# 警告用のファイル ライターを定義します。
logging.fileWarnWriter.class = allaire.jrun.logging.FileLogWriter
logging.fileWarnWriter.filename = {jrun.rootdir}/logs/warning.log
logging.fileWarnWriter.rotationsize = 100000
logging.fileWarnWriter.rotationfiles = 5
# エラー用のファイル ライターを定義します。
logging.fileErrWriter.class = allaire.jrun.logging.FileLogWriter
logging.fileErrWriter.filename = {jrun.rootdir}/logs/errors.log
logging.fileErrWriter.rotationsize = 100000
logging.fileErrWriter.rotationfiles = 5
# 電子メール ライターを定義します。
# 電子メール アドレス、電子メール ホスト、およびメッセージ形式を定義します。
logging.emailErrWriter.class=allaire.jrun.logging.SmtpLogWriter
logging.emailErrWriter.from=JRun-Notification
logging.emailErrWriter.to=someone@mycompany.com
logging.emailErrWriter.host=mymailhost
# 受信するイベントを定義します。
logging.emailErrWriter.loglevel=error