ログ プロパティ

このセクションでは、JRun ログ メカニズムの設定に使用する次のプロパティのカテゴリについて説明します。

一般プロパティ

このセクションでは、JRun ログ メカニズムを設定して有効にする場合に使用する、一般プロパティについて説明します。

logging.class

ログ サービスのクラスは、allaire.jrun.logging.LoggingService です。

logging.format

ログ メッセージの形式です。既定のメッセージ形式は次のとおりです。

{date MM/dd HH:mm:ss} {log.level} ({log.name}) {log.message}

この形式では、メッセージに日付、時刻、イベント タイプ、イベント生成者、 およびメッセージ テキストが表示されるように設定されています。メッセージ 形式を定義する場合、次のコンポーネントが使用できます。

logging.loglevel

カンマ区切りリストとして指定した、ログするイベントのタイプ。使用可能な イベント タイプは、debugerrorinfo、および warning です。既定のログ レベルは、次のように設定されています。

info、warning、error

ログ イベントの一覧が空白の場合は、すべてのログ イベントが記録されます。 さらに、ログ メカニズムは Web サーバーと JRun の間の接続についてのメトリック イベントを受信できます (第 37 章を参照)。

logging.listeners

ログ イベント リスナのカンマ区切りリストです。このプロパティを使用して、 ログ メカニズムを有効にします。このリストが空白の場合、ログ イベントは記録 されません。このリストは、実際のイベント ログを記録しているリスナの論理名に 相当します。

JRun のインストール時に行われるログ メカニズムの既定の設定では、このプロパ ティには既定のスレッド ロガーの論理名 threadedlogger が設定されています。 この設定では、スレッド ロガーにより、すべてのログ イベントが記録され、その後、 既定のディスパッチ ロガーに転送されます。ログ メカニズムの既定の設定の説明 については、"既定のログ設定"を参照してください。

ここで指定された各リスナについて、リスナを定義するためのプロパティを、プロ パティ ファイルに指定する必要があります。

スレッド ロガー プロパティ

これらのプロパティによって、logging.listeners プロパティで指定された
threadedlogger を定義します。logging.listeners プロパティにほかのロガーを含める場合は、これらのプロパティの threadedlogger をロガーの名前に置き換え、このセクションのプロパティを使用して、ロガーのクラスとリスナを定義する必要があります。

このセクションで説明するプロパティの形式は次のとおりです。

logging.<loggerName>.propertyName = propertyValue

ここで loggerName は、前のセクションで説明した logging.listeners プロパティで定義したロガーの論理名です。

既定の設定では、JRun により、次のプロパティが設定された threadedlogger スレッド ロガーが作成されます。

logging.threadedlogger.class=allaire.jrun.logging.ThreadedLogger 
logging..threadedlogger.listeners=filelogwriter 

既定では、スレッド ロガーによって 1 つのリスナが定義されます。このリスナによってすべてのイベントがロガーから 1 つのファイル ログ ライターに送信されます。

logging.<loggerName>.class

スレッド ロガー クラスの名前。allaire.jrun.logging.ThreadedLogger のプロ パティ値を使用する必要があります。

logging.<loggerName>.listeners

スレッド ロガーのキューからイベントを受け取るリスナを指定します。1 つ以上の リスナと、ディスパッチ ロガーか、またはライターを 1 つ定義する必要があります。

既定では、スレッド ロガーに指定されたリスナのみが filelogwriter で、これは 既定のファイル ライターの論理名です。次に、既定のファイル ライターは 1 つの ファイル ライターにすべてのイベントを送ります。ログ メカニズムの既定の設定 の説明については、"既定のログ設定"を参照してください。

ディスパッチ ロガー プロパティ

ディスパッチ ロガーはログ イベントを受け取り、1 つ以上のログ リスナにこのイベントを転送します。ディスパッチ ロガーを使用すると、イベントのタイプに応じて、イベントを受け取るリスナを選択できるようになります。したがって、4 種類のイベント タイプに対応させて、4 種類のリスナにイベントを転送できます。

このセクションで説明するプロパティの形式は次のとおりです。

logging.<dispatchLoggerName>.propertyName = propertyValue

ここで、dispatchLoggerName には、使用しているディスパッチ ロガーの論理名が入ります。

既定の設定では、JRun により、次のプロパティを使用して、ディスパッチ ロガーが 1 つ定義されます。

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 
logging.<dispatchLoggerName>.class

スレッド ロガー クラスの名前。allaire.jrun.logging.DispatchLogger の値を 使用する必要があります。

logging.<dispatchLoggerName>.events

カンマ区切りリストとしてディスパッチ ロガーにより送信されるイベント。既定 値は次のとおりです。

{logging.infoevent},{logging.debugevent},{logging.warningevent},
{logging.errorevent}

ディスパッチ ロガーで転送する必要のあるイベントだけを指定します。

logging.<dispatchLoggerName>.destinations

ディスパッチ ロガーからのイベントの出力先となるリスナのカンマ区切りリスト。 リスナは logging.dispatchlogger.events プロパティで指定されたイベントの 順に指定してください。

既定値は次のとおりです。

filelogwriter,filelogwriter,filelogwriter,filelogwriter

この設定では、イベントはすべて既定のファイル ライターに書き込まれます。

ファイル ライター プロパティ

このセクションでは、ファイル ライターの設定方法について説明します。ファイル ライターはイベントを受けとって、ファイルに書き込みます。

このセクションで説明するプロパティの形式は次のとおりです。

logging.<fileLoggerName>.propertyName = propertyValue

ここで、fileLoggerName には、使用しているファイル ライターの論理名が入ります。

JRun のインストール時に行われたログ メカニズムの既定の設定では、次のプロパティを使用して、ファイル ライターが 1 つ定義されています。

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

これらのプロパティにより、filelogwriter ファイル ライターが作成されます。既定の設定では、すべてのイベントは、JRun のインストール ディレクトリの logs ディレクトリにある {jrun.server.name}-event.log ファイルに書き込まれます。

logging.<fileLoggerName>.class

ファイル ライター クラスの名前。allaire.jrun.logging.FileLogWriter が指定 されます。

logging.<fileLoggerName>.filename

このファイル ロガーによってすべてのイベントが書き込まれるファイル名。

既定では、このファイル名は {jrun.server.name}-event.log で、JRun インス トール ディレクトリの logs ディレクトリにあります。ここで、
{jrun.server.name} には、default などの JRun サーバー名が入ります。

logging.<fileLoggerName>.rotationsize

ファイルがローテートされるまでの、ログ ファイルのサイズの最大値 (単位はバイ ト)。ファイルがローテートされると、ログ メカニズムによる現在のログ ファイ ルへの書き込みは停止され、新しいログ ファイルが作成されます。すべての新しい イベントは、新しいログ ファイルに書き込まれます。このプロパティを使用して、 ログ ファイルの最大サイズを制御できます。

保持するログ ファイルの数を指定するには、ログ メカニズムの rotationfiles プロパティを使用します。たとえば、rotationfiles2 に設定すると、ログ メカ ニズムによって 2 つのローテート ファイルを持つログ ファイルがログ ライター 用に確保されます。すでに 2 つのログ ファイルがあるときに、あるイベントによ り、ログ ファイルがローテート サイズを超えてしまった場合、古い方のログ ファ イルが削除され、新しいファイルが作成されます。

rotationsize の既定値は 100000 です。サイズはバイト、キロバイト (10 k) また はメガバイト (10 m) 単位で指定します。

たとえば、ログ イベントを event.log ファイルに書き込むようにファイル ライ ターを設定し、rotationfiles=3 および rotationsize=100000 に設定します。 次のログ イベントによってログ ファイルのサイズが 100000 バイトを超えると、 ログ ファイルがローテートされ、次の順序のようになります。

logging.<fileLoggerName>.rotationfiles

ローテート ファイルの数。上記の"logging.<fileLoggerName>.rotationsize" に関する注意事項を参照してください。

既定値は 5 です。

logging.<fileLoggerName>.format

ログ メッセージの形式を指定します。この設定は、logging.format プロパティを 使用して指定したログ形式を書き換えます。このプロパティの値の一覧については、 "一般プロパティ"にある"logging.format" の説明を参照してください。

logging.<fileLoggerName>.heading

JRun により最初にログ ファイルに書き込みが行われるときに、このファイルの 先頭に挿入されるログ ファイル ヘッダ。ヘッダには、タイムスタンプなどの動的な プロパティを含むどのようなテキストでも使用できます。次の例では、ログ ファ イルに作成日時が書き込まれます。

logging.filelogwriter.heading==# 作成日 {date MM/dd hh:mm:ss} 

また、プロパティ logging.fileLoggerName.heading.lineN を使用して、ヘッダを 挿入することもできます。logging.fileLoggerName.heading プロパティ、または logging.fileLoggerName.heading.lineN プロパティのどちらかを使用できます。 両方は使用できません。

logging.<fileLoggerName>.heading.lineN

JRun により最初にログ ファイルに書き込みが行われるときに、このファイルの 先頭に挿入される複数行のログ ファイル ヘッダの 1 行。プロパティ コンポーネント lineN には、ヘッダの行番号を指定します。

ヘッダには、タイムスタンプなどの動的なプロパティを含むどのようなテキスト でも使用できます。次の例では、ログ ファイルに作成日時が書き込まれます。

logging.filelogwriter.heading.line1=#-------------------------------
logging.filelogwriter.heading.line2=# 作成日{date MM/dd hh:mm:ss} 
logging.filelogwriter.heading.line3=# これが JRun ログ ファイルです。
logging.filelogwriter.heading.line4=#-------------------------------

行番号は 1 から始まる必要があります。連続する次の行が見つからないと、ログ ライターによるヘッダ行の検索は終了します。

電子メール ライター プロパティ

ログ メッセージを電子メール メッセージに転送するには、電子メール ライターを作成します。このセクションでは、電子メール ライターに設定するプロパティについて説明します。例については、"ファイルと電子メールへのログ メッセージの書き込み"を参照してください。

このセクションで説明するプロパティの形式は次のとおりです。

logging.<mailLoggerName>.propertyName = propertyValue

ここで、mailLoggerName には、使用する電子メール ライターの論理名を指定します。

logging.<mailLoggerName>.class

メール ライター クラス名。allaire.jrun.logging.SmtpLogWriter が指定され ます。


メモ

電子メール サーバーでは、sun.net.smtp.SmtpClient が必要ですが、すべての サーバーでこのクライアントが使用できるわけではありません。


logging.<mailLoggerName>.from

生成された電子メール アドレスの「from」の部分。この値に空白を入れることは できません。

logging.<mailLoggerName>.to

生成された電子メール アドレスの「to」の部分。この値に空白を入れることはでき ません。

logging.<mailLoggerName>.host

電子メール ホスト。この値に空白を入れることはできません。

logging.<mailLoggerName>.loglevel

電子メール メッセージを生成するログ イベントのカンマ区切りリスト。指定できる 値は infowarningerror、および debug です。

logging.<mailLoggerName>.format

ログ メッセージの形式を指定します。この設定は、logging.format プロパティを 使用して指定したログ形式を書き換えます。このプロパティの値の一覧については、 "一般プロパティ"にある logging.format プロパティの説明を参照してください。

スクリーン ライター プロパティ

このセクションでは、スクリーン ライターの設定方法について説明します。スクリーン ライターはイベントを受け取り、これを標準出力に書き込みます。標準出力は通常、使用しているコンピュータのスクリーンになります。

このセクションで説明するプロパティの形式は次のとおりです。

logging.<screenLoggerName>.propertyName = propertyValue

ここで、screenLoggerName には、使用するスクリーン ライターの論理名を指定します。

logging.<screenLoggerName>.class

スクリーン ライター クラス名を指定します。
allaire.jrun.logging.ScreenLogWriter の値を使用する必要があります。

logging.<screenLoggerName>.format

ログ メッセージの形式を指定します。この設定は、logging.format プロパティを 使用して指定したログ形式を書き換えます。このプロパティの値の一覧については、 "一般プロパティ"にある"logging.format"

システム ログ プロパティ

既定では、Web アプリケーションによって標準出力と標準エラーに書かれた情報を、JRun サーバーが取得し、ログ ファイルに書き込みます。次のプロパティを使用して、これらのログ ファイルの名前と場所を設定し、ログ ファイルにスタック トレースを含めるように JRun を設定できます。

java.System.out

標準出力に書き込まれた情報を含むファイルの、名前と場所を設定します。既定 では、JRun はこれらの情報を次のファイルに書き込みます。

{jrun.rootdir}/logs/{jrun.server.name}-out.log

ここで、{jrun.server.name} には、JRun サーバーの名前が入ります。

java.System.err

標準エラーに書き込まれた情報のためのファイルの名前と場所を設定します。 既定では、JRun はこれらの情報を次のファイルに書き込みます。

{jrun.rootdir}/logs/{jrun.server.name}-err.log

ここで、{jrun.server.name} には、JRun サーバーの名前が入ります。