Cosminexus V9 アプリケーションサーバ 運用管理ポータル操作ガイド

[目次][索引][前へ][次へ]

10.9.10 ユーザログの設定

[ユーザログの設定]画面を次の図に示します。

図10-35 [ユーザログの設定]画面

[図データ]

<この項の構成>
(1) 機能概要
(2) 表示手順
(3) 操作手順
(4) 画面詳細

(1) 機能概要

ユーザログに関する情報を設定します。ユーザログの詳細については,マニュアル「アプリケーションサーバ 機能解説 拡張編」の「9.8 J2EEアプリケーションのユーザログ出力の設定」を参照してください。

(2) 表示手順

  1. 運用管理ポータルで[論理サーバの環境設定]アンカーをクリックします。
  2. 次のどちらか一方の操作をします。
    J2EEサーバの場合
    [サーバビュー]タブ−[論理J2EEサーバ]−[J2EEサーバ]−[<J2EEサーバ名>]をクリックします。
    J2EEサーバクラスタの場合
    [サーバビュー]タブ−[論理J2EEサーバ]−[J2EEサーバクラスタ]−[<J2EEサーバクラスタ名>]−[<J2EEサーバ名>]をクリックします。
  3. [サービス]タブをクリックします。
  4. [ユーザログ]タブをクリックします。

(3) 操作手順

画面での操作手順を次に示します。

  1. ログ出力用の動作を変更するためのロガーや,ログの取得レベルなどを指定します。
    ロガー名称を追加または削除する場合,次の操作をします。ハンドラ名称も同様の手順で追加または削除できます。
    • 追加する場合は,「ロガー名称」にロガー名称を入力し,[追加]ボタンをクリックします。
    • 削除する場合は,削除したいロガー名称の[削除]ボタンをクリックします。
    表示されるメッセージを確認したあと,[戻る]アンカーをクリックして,設定画面に戻ります。
    ロガーのプロパティを設定する場合,「ロガー名称」からロガー名称を選択し,ログ取得レベルなどを指定し,[更新]ボタンをクリックします。ハンドラのプロパティも同様の手順で設定できます。
    表示されるメッセージを確認したあと,[戻る]アンカーをクリックして,設定画面に戻ります。
  2. ロガーに接続するハンドラを追加または削除する場合,次の操作をします。
    • 追加する場合は,「ロガー名称」からロガーを選択し,「ハンドラ」の各メニューからハンドラクラスとハンドラ名称を選択するか「ハンドラ」の入力フィールドを選択して完全限定名を入力します。そのあと,[追加]ボタンをクリックします。
    • 削除する場合は,「ロガー名称」からロガーを選択し,「ハンドラ」の各メニューからハンドラクラスとハンドラ名称を選択するか「ハンドラ」の入力フィールドを選択してハンドラ名称を入力します。そのあと,[削除]ボタンをクリックします。
    表示されるメッセージを確認したあと,[戻る]アンカーをクリックして,設定画面に戻ります。
    エラーが表示された場合は,エラーの内容を確認して[戻る]アンカーをクリックします。指定した内容を見直します。

(4) 画面詳細

画面に表示される項目およびボタンについて説明します。

ロガーの設定
ロガー名称
ロギング用プロパティを用いてログ出力用の動作を変更するためのロガー(usrconf.propertiesファイルのejbserver. application.userlog.loggersキー,ejbserver. application.userlog.Logger.<ロガー名称>.*キー)を指定します。デフォルトは,「<ロガー名称>で修飾される各プロパティのデフォルト」です。
ロガー名称に指定できる文字は,先頭が英数字のクラス文字セット(英数字,ピリオド(.),ドル記号($),アンダースコア(_))です。1〜1,024文字で指定します。
  • [追加]ボタン
    ロガーを追加します。
  • [削除]ボタン
    ロガーを削除します。

プロパティの設定(ロガー)
「ロガー名称」で指定したロガーのプロパティ(usrconf.propertiesファイルのejbserver.application.userlog.Logger.<ロガー名称>.*キー)を指定します。
ロガー名称
プロパティを設定したいロガーを選択します。
  • [参照]ボタン
    メニューから選択されたロガーのプロパティを「プロパティの設定(ロガー)」に表示します。
  • [更新]ボタン
    ロガーのプロパティを更新します。
ログ取得レベルの上限
ロガーのログ取得レベルの上限(usrconf.propertiesファイルのejbserver.application.userlog.Logger.<ロガー名称>.levelキー)を選択します。選択したレベル以下のログが出力されます。デフォルトは,「SEVERE」です。
プログラムからログを出力するときに指定されたレベルが,「プロパティの設定(ロガー)」および「プロパティの設定(ハンドラ)」の「ログ取得レベルの上限」よりも高い場合,該当のログは出力されません。
ログ取得レベルを次に示します。項番が大きいほどレベルが高くなります。ただし,「親のレベルを継承」を除きます。

表10-5 ログ取得レベル(ロガー)

項番 メニュー 説明
1 OFF ログを取得しません。
2 SEVERE 重大な障害を示すレベルです。
3 WARNING 潜在的な問題を示すレベルです。
4 INFO メッセージ情報として提供するレベルです。
5 CONFIG 静的な構成メッセージのレベルです。
6 FINE トレース情報を提供するレベルです。
7 FINER FINEより高いトレースレベル2です。
8 FINEST FINERより高いトレースレベル3です。
9 ALL すべてのメッセージログを取得します。
10 親のレベルを継承 親ロガーに設定されている取得レベルを継承します。
このメニューを選択した場合,ejbserver.application.userlog.Logger.<ロガー名称>.levelには「null」が設定されます。
親ロガーに接続するハンドラへのログの伝播
ログレコードを親ロガーの接続しているハンドラへ伝播するかどうか(usrconf.propertiesファイルのejbserver.application.userlog.Logger.<ロガー名称>.useParentHandlersキー)を選択します。デフォルトは,「する」です。
ログレコードは親ロガーに設定されているハンドラに直接伝播されるため,親ロガーの「ログレベル取得の上限」には影響されません。
フィルタ
ロガーで使用するフィルタ(usrconf.propertiesファイルのejbserver.application.userlog.Logger.<ロガー名称>.filterキー)を完全限定名で指定します。フィルタに指定できる文字は,クラス文字セット(英数字,ピリオド(.),ドル記号($),アンダースコア(_))です。0〜4,096文字で指定します。空文字列または「null」を指定した場合,フィルタの処理は行われません。

ハンドラの設定
ハンドラ名称
ロギング用プロパティをカスタマイズしたい場合に,ロガーとプロパティを対応させるためのハンドラ名称(usrconf.propertiesファイルのejbserver. application.userlog.CJLogHandler<ハンドラ名称>.*キー)を指定します。デフォルトは,「<ハンドラ名称>で修飾される各プロパティのデフォルト」です。
ハンドラ名称に指定できる文字は,先頭が英数字のクラス文字セット(英数字,ピリオド(.),ドル記号($),アンダースコア(_))です。1〜1,024文字で指定します。
  • [追加]ボタン
    ハンドラを追加します。
  • [削除]ボタン
    ハンドラを削除します。

プロパティの設定(ハンドラ)
「ハンドラ名称」で指定したハンドラのプロパティ(usrconf.propertiesファイルのejbserver.application.userlog.CJLogHandler.<ハンドラ名称>.*キー)を指定します。
ハンドラ名称
プロパティを設定したいハンドラを選択します。
  • [参照]ボタン
    メニューから選択されたハンドラのプロパティを「プロパティの設定(ハンドラ)」に表示します。
  • [更新]ボタン
    ハンドラのプロパティを更新します。
ログファイルのプリフィックス
ログファイル名のプリフィックス(usrconf.propertiesファイルのejbserver.application.userlog.CJLogHandler.<ハンドラ名称>.pathキー)を指定します。ここで指定したプリフィックスに「[1-16].log」を付けたものがログファイル名となります。デフォルトは,「user_log」です。
ログファイル名の長さが255バイト以下となるように指定してください。
また,論理サーバ内のほかのハンドラ名称に設定されている値と同じ値は指定できません。
ログファイル名は,次のようになります。
  • J2EEサーバの場合(Windowsの場合)
    <ログ出力ルート(ejb.server.log.directoryの値)>\user\<ログファイルプリフィックス>[1-16].log
  • J2EEサーバの場合(UNIXの場合)
    <ログ出力ルート(ejb.server.log.directoryの値)>/user/<ログファイルプリフィックス>[1-16].log
  • WEBコンテナサーバの場合(Windowsの場合)
    <Application Serverのインストールディレクトリ>\CC\web\containers\<コンテナサーバ名>\logs\user\<ログファイルプリフィックス>[1-16].log
  • WEBコンテナサーバの場合(UNIXの場合)
    /opt/Cosminexus/CC/web/containers/<コンテナサーバ名>/logs/user/<ログファイルプリフィックス>[1-16].log
ファイルサイズ
ログファイルの1ファイルの最大容量(usrconf.propertiesファイルのejbserver.application.userlog.CJLogHandler.<ハンドラ名称>.limitキー)を指定します。8キロバイト,64キロバイト,256キロバイト,512キロバイト,1メガバイト,2メガバイト,4メガバイト,16メガバイト,64メガバイトのうちからどれか一つを選択できます。デフォルトは,「1メガバイト」です。
アプリケーションからログが出力されたあと,ログファイルの容量が指定値よりも大きくなっていた場合に,次のログファイルに切り替わります。このため,指定値よりもファイルサイズが大きくなることがあります。アプリケーションから出力されるログは最大4キロバイトであるため,ログファイルの容量は指定値よりも最大4キロバイト大きくなる可能性があります。
ファイル面数
ログファイルの面数(usrconf.propertiesファイルのejbserver.application.userlog.CJLogHandler.<ハンドラ名称>.countキー)を指定します。2面,4面,8面,16面のうちからどれか一つを選択できます。デフォルトは,「2面」です。
ファイルの番号は,指定した面数に達すると初めの番号「1」に戻ります。すでに同名の旧ログファイル,または同名のユーザファイルがある場合は,上書きされます。
ログ取得レベルの上限
ログ取得レベルの上限(usrconf.propertiesファイルのejbserver.application.userlog.CJLogHandler.<ハンドラ名称>.levelキー)を選択します。選択したレベル以下のログが出力されます。デフォルトは,「SEVERE」です。
ログ取得レベルを次に示します。項番が大きいほどレベルが高くなります。

表10-6 ログ取得レベル(ハンドラ)

項番 メニュー 説明
1 OFF ログを取得しません。
2 SEVERE 重大な障害を示すレベルです。
3 WARNING 潜在的な問題を示すレベルです。
4 INFO メッセージ情報として提供するレベルです。
5 CONFIG 静的な構成メッセージのレベルです。
6 FINE トレース情報を提供するレベルです。
7 FINER FINEより高いトレースレベル2です。
8 FINEST FINERより高いトレースレベル3です。
9 ALL すべてのメッセージログを取得します。
AppNameフィールドに出力するデフォルト文字列
ログのAppNameフィールドに出力するアプリケーション識別名のデフォルト(usrconf.propertiesファイルのejbserver.application.userlog.CJLogHandler.<ハンドラ名称>.appnameキー)を半角文字セット(半角英数字,ピリオド(.),ドル記号($),アンダースコア(_),ハイフン(-),パイプ(|),コロン(:),アンパサンド(&),アットマーク(@),版記号(#),パーセント(%))で16文字以内で指定します。デフォルトは,「user_app」です。
プログラムでAppNameが指定されていない場合,この文字列がAppNameフィールドへ出力されます。「null」が指定された場合,ログに出力されるデフォルト文字列は空文字列("")となります。
MsgIDフィールドに出力するデフォルト文字列
ログのMsgIDフィールドに出力するメッセージを区別するためのID文字列のデフォルト(usrconf.propertiesファイルのejbserver. application.userlog.CJLogHandler.<ハンドラ名称>.msgidキー)を半角文字セット(半角英数字,ピリオド(.),ドル記号($),アンダースコア(_),ハイフン(-),パイプ(|),コロン(:),アンパサンド(&),アットマーク(@),版記号(#),パーセント(%))で21文字以内で指定します。デフォルトは,「0001」です。
プログラムでMsgIDが指定されていない場合,この文字列がMsgIDフィールドへ出力されます。「null」が指定された場合,ログに出力されるデフォルト文字列は空文字列("")となります。
要素区切りのデフォルト文字列
CJSimpleFormatterを利用してスタックトレースなどの改行を含むメッセージを1行で出力するために,改行コードを置き換えるための文字列(usrconf.propertiesファイルのejbserver.application.userlog.CJLogHandler.<ハンドラ名称>.separatorキー)を0〜1,024文字の半角文字セット(半角英数字,ピリオド(.),ドル記号($),アンダースコア(_),ハイフン(-),パイプ(|),コロン(:),アンパサンド(&),アットマーク(@),版記号(#),パーセント(%))で指定します。デフォルトは,「|」です。
トレース共通ライブラリ形式で出力する場合は,「\r」や「\n」などの制御文字を含めないようにしてください。これらの文字を含めた場合,1レコードが1行で出力されなくなります。「null」が指定された場合,ログに出力されるデフォルト文字列は空文字列("")となります。
フォーマッタ
使用するフォーマッタ(usrconf.propertiesファイルのejbserver.application.userlog.CJLogHandler.<ハンドラ名称>.formatterキー)を完全限定名(例:com.Hitachi.software.ejb.application.util.logging.SimpleForCJFormatter)で指定します。フォーマッタに指定できる文字は,クラス文字セット(英数字,ピリオド(.),ドル記号($),アンダースコア(_))です。0〜4,096文字で指定します。空文字列または「null」を指定した場合,フォーマッタの処理は行われません。
フィルタ
ハンドラで使用するフィルタ(usrconf.propertiesファイルのejbserver.application.userlog.CJLogHandler.<ハンドラ名称>.filterキー)を完全限定名で指定します。フィルタに指定できる文字は,クラス文字セット(英数字,ピリオド(.),ドル記号($),アンダースコア(_))です。0〜4,096文字で指定します。空文字列または「null」を指定した場合,フィルタの処理は行われません。
エンコーディング
出力するユーザログに使用する文字エンコーディング(usrconf.propertiesファイルのejbserver.application.userlog.CJLogHandler.<ハンドラ名称>.encodingキー)を指定します。
「VM標準」を選択し,メニューから文字エンコーディングを選択するか,「テキスト入力」を選択し,入力フィールドに設定する文字エンコーディングを0〜1,024文字の半角英数字で入力します。
エンコードに指定できる文字セットと指定する文字列については,JavaのAPI仕様のjava.nio.charset.Charsetを参照してください。
メニューから選択できる文字エンコーディングを次に示します。

表10-7 選択できる文字エンコーディング(ユーザログ)

文字エンコーディング 説明
US-ASCII 7ビットASCII(ISO46-US/Unicode charsetのBasic Latinブロック)
ISO-8859-1 ISO Latin Alphabet No.1(ISO-LATIN-1)
UTF-8 8ビットUCS変換形式
SJIS Shift_JIS,日本語
EUC_JP JIS X 0201,208,0212,EUCエンコーディング,日本語
MS932 Windows,日本語
JIS0201 JIS X 0201,日本語
JIS0208 JIS X 0208,日本語
JIS0212 JIS-X 0212,日本語
テキスト入力を選択した場合,空文字列または「null」を指定すると,デフォルトのエンコーディングが使用されます。

ロガーへのハンドラの接続指定
ロガーに接続するハンドラ(usrconf.propertiesファイルのejbserver.application.userlog.Logger.<ロガー名称>.handlersキー)を指定します。
ハンドラを設定するロガーを「ロガー名称」から選択し,「ハンドラ」の各メニューからハンドラクラスとハンドラ名称を選択し,[追加]ボタンをクリックすると,ハンドラが追加されます。
独自に作成したハンドラを指定する場合は,ハンドラを設定するロガーを「ロガー名称」から選択し,「ハンドラ」の入力フィールドを選択して完全限定名を入力し,[追加]ボタンをクリックすると,ハンドラが追加されます。独自に作成したハンドラには,ハンドラ名称は指定できません。なお,すでにロガーに設定しているハンドラ名称を選択すると,エラーとなります。
  • [追加]ボタン
    選択されたロガー名称にハンドラを追加します。
  • [削除]ボタン
    選択されたロガー名称からハンドラを削除します。
メニューに表示されるハンドラクラスとそのハンドラクラスにハンドラ名称を指定できるかどうかを次に示します。

表10-8 ハンドラクラスとハンドラ名称の指定の可否

項番 ハンドラクラス ハンドラ名称の指定の可否
1 com.hitachi.software.ejb.application.userlog.CJMessageFileHandler 指定できる
2 java.util.logging.ConsoleHandler 指定できない
3 java.util.logging.FileHandler 指定できない
4 java.util.logging.SocketHandler 指定できない
5 java.util.logging.StreamHandler 指定できない
6 java.util.logging.MemoryHandler 指定できない
7 com.cosminexus.mngsvr.externals.jp1event.JP1EventHandler 指定できる

注※
ユーザログ機能で出力したログをJP1イベントとして発行するハンドラです。プログラムで指定したメッセージがJP1イベントのメッセージに格納されます。メッセージの長さは1,023バイトです。1,024バイト以降は切り捨てられます。
指定されたハンドラ名称に設定されている「ログ取得レベルの上限」,「AppNameフィールドに出力するデフォルト文字列」,「MsgIDフィールドに出力するデフォルト文字列」,「フォーマッタ」および「フィルタ」だけが有効となります。この場合,「AppNameフィールドに出力するデフォルト文字列」はJP1イベントの拡張属性USERLOG_APPNAMEに格納され,「MsgIDフィールドに出力するデフォルト文字列」はJP1イベントの拡張属性USERLOG_MSGIDに格納されます。