Hitachi

Cosminexus V11 アプリケーションサーバ システム構築・運用ガイド


付録L.6 ユーザログ機能のサンプルプログラム

ユーザログ機能の動作確認用のサンプルプログラムとして,userlogが提供されています。また,このサンプルプログラムを実行するためのソースファイルと定義ファイルのサンプルとして次の表に示すファイルが提供されています。

表L‒3 ユーザログ機能の動作確認用のサンプルプログラム

ファイル名

用途

UserLogServlet.java

ユーザログのサーブレットプログラムです。

UserLogHome.java

ホームインタフェースです。

UserLog.java

リモートインタフェースです。

AdderEJB.java

整数の合計を計算するEnterprise Beanの実装クラスです。

sample.properties

プロパティにセットするロガーのサンプルプロパティです。

MyFormatter.java

フォーマッタとして提供される独自クラスです。

MyFilter.java

フィルタとして提供される独自クラスです。

これらのファイルは,次の場所にあります。

<Application Serverのインストールディレクトリ>\CC\examples\userlog

ユーザログ機能のサンプルプログラムの概要と実行手順を説明します。

〈この項の構成〉

(1) ユーザログ機能のサンプルプログラムの概要

このサンプルプログラムでは,三つのタイプのログ出力を実行できます。

サンプルプログラムでは,次の図に示す流れで処理が行われます。

図L‒34 ユーザログのサンプルプログラムの構造(サーブレット,Enterprise Bean)

[図データ]

[入力]画面で選択するロガー名およびログレベルによって,出力先のログファイルが異なります。

(2) ユーザログ機能のサンプルプログラムの実行手順

サンプルプログラムの実行手順を示します。

(a) J2EEサーバのセットアップ

付録L.1(1) J2EEサーバのセットアップ」を参照してください。

(b) サンプルファイルのコンパイル

サンプルで提供するバッチファイル(compile.bat)を使用して,ユーザログサンプルをコンパイルします。

コンパイルすると「myloglib.jar」というファイルが作成されます。これを任意のディレクトリに格納し,JARファイルにパスを通します。パスを通す方法については,マニュアル「アプリケーションサーバ 機能解説 拡張編」の「8.7.2 コンテナ拡張ライブラリを利用する方法」を参照してください。

(c) プロパティ情報の設定

セットアップしたサーバにプロパティ情報を設定します。セットアップしたサーバのusrconf.propertiesの内容の一部を,サンプルで提供する設定ファイル(sample.properties)に書き換えます。Management Serverを利用してシステムを構築している場合は,マニュアル「アプリケーションサーバ 機能解説 拡張編」の「8.8 J2EEアプリケーションのユーザログ出力の設定」を参照して設定してください。

セットアップしたサーバを「MyServer」としたときのusrconf.propertiesの格納場所と,usrconf.propertiesファイル内の書き換え位置を次に示します。

  • ファイルの場所

    <Application Serverのインストールディレクトリ>\CC\server\usrconf\ejb\MyServer\usrconf.properties

  • ファイルの書き換え位置

    次に示す個所を,sample.propertyの内容に書き換えます。

         :
    # user-log handler settings
    #ejbserver.application.userlog.CJLogHandler.<Specify handler-name>.path=user_log
    #ejbserver.application.userlog.CJLogHandler.<Specify handler-name>.count=2
         :
    # user-log logger settings
    #ejbserver.application.userlog.Logger.<Specify logger-name>.handlers=<Specify handler-class>
    #ejbserver.application.userlog.Logger.<Specify logger-name>.useParentHandlers=true
         :

サンプルで提供するsample.propertiesの内容を示します。

# user-log handler settings
#conf1 settings
ejbserver.application.userlog.CJLogHandler.conf1.path=userlog/logFileA
ejbserver.application.userlog.CJLogHandler.conf1.level=ALL
ejbserver.application.userlog.CJLogHandler.conf1.appname=userlog_app
ejbserver.application.userlog.CJLogHandler.conf1.formatter=com.hitachi.software.ejb.application.userlog.CJSimpleFormatter
 
#conf2 settings
ejbserver.application.userlog.CJLogHandler.conf2.path=userlog/logFileB
ejbserver.application.userlog.CJLogHandler.conf2.level=SEVERE
ejbserver.application.userlog.CJLogHandler.conf2.appname=userlog_app
 
#conf3 settings
ejbserver.application.userlog.CJLogHandler.conf3.path=userlog/logFileC
ejbserver.application.userlog.CJLogHandler.conf3.level=INFO
ejbserver.application.userlog.CJLogHandler.conf3.appname=userlog_app
 
# user-log logger settings
#logger1 settings
ejbserver.application.userlog.Logger.com.example.userlogger1.handlers=com.hitachi.software.ejb.application.userlog.CJMessageFileHandler;conf1,com.hitachi.software.ejb.application.userlog.CJMessageFileHandler;conf2
ejbserver.application.userlog.Logger.com.example.userlogger1.level=ALL
 
#logger2 settings
ejbserver.application.userlog.Logger.com.example.userlogger2.handlers=com.hitachi.software.ejb.application.userlog.CJMessageFileHandler;conf3
ejbserver.application.userlog.Logger.com.example.userlogger2.level=INFO
 
ejbserver.application.userlog.loggers=com.example.userlogger1, com.example.userlogger2

NIO HTTPサーバの設定については「付録L.1(2) J2EEサーバのカスタマイズ」を参照してください。

(d) J2EEサーバの起動

付録L.1(3) J2EEサーバの起動」を参照してください。

(e) アプリケーションのデプロイ

付録L.1(5) アプリケーションのインポート,設定,および開始」を参照してください。

(f) アプリケーションの実行

ブラウザを起動し,URLに次の文字列を指定します。

http://<マシン名>:<ポート番号>/<ContextRoot>/userlog.html

J2EEサーバのNIO HTTPサーバに直接アクセスする場合,デフォルトでは次のURLを指定します。

http://localhost:8008/userlog/userlog_war/userlog.html

(g) userlogの実行例

userlogの実行例を示します。アプリケーションを実行して,URLを指定すると,次に示す[実行サンプルタイプの選択]画面が表示されます。

図L‒35 [実行サンプルタイプの選択]画面(ユーザログのサンプルプログラム)

[図データ]

実行するサンプルのタイプを選択し,各データ入力フォームへ移ります。この画面以降の操作とログ出力例については,選択したタイプごとに説明します。

出力結果のログファイルは,セットアップしたサーバ名を「MyServer」とした場合,usrconf.propertiesに設定したファイル名で,次に示すディレクトリに出力されます。

<Application Serverのインストールディレクトリ>\CC\server\public\MyServer\logs\user\userlog
  • タイプ1:outputting messageの実行例

    [実行サンプルタイプの選択]画面で「Sample for outputting message from the servlet」タイプを選んだ場合の画面遷移とログファイルの出力例を示します。

    タイプ選択後,表示された[入力]画面で次の値を入力します。

    • ロガー名:com.example.userlogger1

    • メッセージ:AAA

    • メッセージレベル:SEVERE(致命的)

    次に,タイプ1を選択した場合の[入力]画面を示します。

    図L‒36 [入力]画面(タイプ1:ユーザログのサンプルプログラム)

    [図データ]

    入力後,[send]ボタンをクリックすると,[入力結果表示]画面が表示されます。

    図L‒37 [入力結果表示]画面(タイプ1:ユーザログのサンプルプログラム)

    [図データ]

    この例では,logfileAとlogfileBに出力されます。

    logfileAの出力結果を示します。

    0310 2005/01/21 20:37:53.296     userlog_app      00922804 01000BCF Msg_100               2005/01/21 20:37:53|UserLogServlet|doPost|致命的|AAA

    logfileBの出力結果を示します。

    0888 2005/01/21 19:41:03.609     userlog_app      00922804 009B6220 Msg_100               AAA
  • タイプ2:outputting the entered numbers and total valueの実行例

    [実行サンプルタイプの選択]画面で「Sample for outputting the entered numbers and total value from AdderEJB」タイプを選んだ場合の画面遷移とログファイルの出力例を示します。

    タイプ選択後,表示された[入力]画面で次の値を入力します。

    • ロガー名:com.example.userlogger1

    • 入力数:10

    次に,タイプ2を選択した場合の[入力]画面を示します。

    図L‒38 [入力]画面(タイプ2:ユーザログのサンプルプログラム)

    [図データ]

    入力後,[send]ボタンをクリックすると,[入力結果表示]画面が表示されます。

    図L‒39 [入力結果表示]画面(タイプ2:ユーザログのサンプルプログラム)

    [図データ]

    この例では,logfileAだけに出力されます。

    logfileAの出力結果を示します。

    0324 2005/01/21 20:38:59.500     userlog_app      00922804 015C998A Adder_200             2005/01/21 20:38:59|AdderEJB|add|情報|inputNumber = 10
    0327 2005/01/21 20:38:59.500     userlog_app      00922804 015C998A Adder_201             2005/01/21 20:38:59|AdderEJB|getTotal|情報|total = 10
  • タイプ3:outputting exception logsの実行例

    [実行サンプルタイプの選択]画面で「Sample for outputting exception logs from the servlet」タイプを選んだ場合の画面遷移とログファイルの出力例を示します。

    タイプ選択後,表示された[入力]画面で次の値を入力します。

    • ロガー名:com.example.userlogger2

    次に,タイプ3を選択した場合の[入力]画面を示します。

    図L‒40 [入力]画面(タイプ3:ユーザログのサンプルプログラム)

    [図データ]

    入力後,[send]ボタンをクリックすると,[入力結果表示]画面が表示されます。

    図L‒41 [入力結果表示]画面(タイプ3:ユーザログのサンプルプログラム)

    [図データ]

    この例では,logfileCだけに出力されます。

    logfileCの出力結果を示します。

    1077 2005/01/21 19:55:19.328     userlog_app      00922804 006458A6 Exp_300               message:Exception     LEVEL:SEVERE

(h) アプリケーションのアンデプロイ

付録L.1(6) アプリケーションの停止,削除」を参照してください。

(i) J2EEサーバの終了

付録L.1(7) J2EEサーバの終了」を参照してください。