ローダー・パッケージのロギングのカスタマイズ

ローダー・パッケージのロギングをカスタマイズするには、WCALoggerConfig.xml ファイルを使用します。

このファイルは、クラスパスのシステム環境変数で指定されたディレクトリーにあります。 これは、com.ibm.wca.logging.configFile Java システム・プロパティーで指定することもできます。

 drive:\WebSphere\CommerceServer\xml\loader\WCALoggerConfig.xml 
drive:\Program Files\WebSphere\CommerceServer\xml\loader\WCALoggerConfig.xml 
/usr/WebSphere/CommerceServer/xml/loader/WCALoggerConfig.xml 
/opt/WebSphere/CommerceServer/xml/loader/WCALoggerConfig.xml 
/QIBM/UserData/WebCommerce/instances/instancename/xml/WCALoggerConfig.xml

WCALoggerConfig.xml には、 <component name="DTDGenerator"> のようなコンポーネント・タグが 1 つ以上含まれています。 これらの個々のタグの中に、ロガーやハンドラーを追加できます。 システム提供のユーティリティーやロガー・タグは変更できません が、 ハンドラーのタグをロガーに追加することはできます。 このファイルに組み込めるものについての詳細は、 WCALogger.dtd ファイルを参照してください。

ローダー・パッケージ・ログは、 以下のディレクトリーの messages.txt ファイルにあります:

 drive:\WebSphere\CommerceServer\instances\instancename\logs
drive:\Program Files\WebSphere\CommerceServer\instancename\logs
/usr/WebSphere/CommerceServer/instances/instancename/logs
/opt/WebSphere/CommerceServer/instances/instancename/logs
/QIBM/UserData/WebCommerce/instances/instancename/logs

ハンドラー

ハンドラーをロガーに追加するには、 WCALoggerConfig.xml ファイルにハンドラー・タイプを指定します。 ロガーには複数のハンドラーを追加できます。 各ハンドラーには、必ずしも他のハンドラーに適用されない独自の属性と従属タグがあることに注意してください。 ハンドラー・タイプには、以下のものがあります:

ハンドラー・タイプ 説明と属性
console 標準出力 (通常、コマンド行) にメッセージを送信します。
file テキスト・ファイルにメッセージを保管します。

<filePath>ログ・パス</filePath> を、従属タグとして、このハンドラーに追加する必要があります。

multifile ファイルの循環ログを作成します。

<filePath>ログ・パス</filePath> を指定する必要があります。 ログ・ファイル 1 から n までが作成されます。 以下の属性を追加できます。

MaxFiles
使用するログ・ファイルの数を示す整数。これを超えると最初のログ・ファイルを消去します。
MaxKBFileSize
各ログ・ファイルに保管する最大 K バイト数を示す整数。
Windows NT Windows 2000 AIX
Solaris Linux database
メッセージを、循環ログの DB2 テーブルに保管します。 以下の属性を追加できます。
brand
データベースのブランド名。 現在サポートされているデータベースは、DB2 だけです。
maxRows
テーブルに保管するレコードの最大数。これを超えると最も古いエントリーを消去します。
従属タグとして <jdbc/> を組み込み、 以下の属性を組み込むことができます。
url
データベースにアクセスするために JDBC で使用される URL (たとえば、 Jdbc:db2:wcm。ここで、wcm はデータベース名です)。 データベースは、ユーティリティーを実行する前に存在する必要があります。
table
メッセージがログに記録される、データベース・テーブルの名前。 これは、以下の DB2 ステートメントで作成されたものです。

CREATE TABLE tablename (KEY char(13) FOR BIT DATA NOT NULL, COMPONENTNAME VARCHAR(30), ENTRY VARCHAR(2000), PRIMARY KEY(key))

userid
データベース・ユーザー名。 このユーザーには、テーブルを更新する権限が必要です。 以下の DB2 ステートメントがこれを行います。

GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE tablename TO USER userid

password
指定したユーザー名のパスワード。

以下は、タイプ "database" のハンドラーをロガーに追加する例です。

  <handler type="database" brand="DB2" maxRows="50">
   <jdbc url="jdbc:db2:wcm"
      table="wcm.log"
      userid= "wasuser"
      password="123456"/>
      <filter type="Any">
       <messageType name="FATAL"/>
       <messageType name="ERROR"/>
       <messageType name="WARNING"/>
      </filter>
  </handler>

フィルター

フィルターをハンドラーに対して追加または除去することにより、 メッセージ・タイプを組み込んだり、除外したりできます。 ロガーにフィルターがないと、メッセージは記録されません。 それぞれのフィルター・タグには、メッセージ・タイプをリストする従属の messageType タグがあります。 これは通常以下のいずれかです:

その他のメッセージ・タイプは、WCALogger.dtd ファイルにリストされますが、 ほとんどが、一般的にこのパッケージと共に使用されません。

フィルター・タイプには、以下があります。

フィルター・タイプ 説明と属性
Any 指定した messageType タイプの 1 つとして示された任意のメッセージを、ログ・ファイルに組み込みます。

たとえば、messageType リストに ERROR が含まれ、 アプリケーションが ERROR タイプのメッセージを生成した場合、そのメッセージはログに記録されます。

All メッセージがログに組み込まれるには、そのメッセージが、指定したすべての messageType タイプ属性を持つ必要があります。
Exclude messageType タグのリストに指定していない、すべてのメッセージをログに記録します。

ハンドラーにフィルターを追加する以下の例では、 FATAL および ERROR のメッセージ・タイプをログに記録し、 他のメッセージを無視することができます。

  <handler type="file">
      <filter type="Any">
	<messageType name="FATAL"/>
	<messageType name="ERROR"/>
      </filter>
  </handler>

形式

メッセージの形式設定として、次の 2 つのフォーマッター・タイプのいずれかを指定することができます。

フォーマッター・タイプ 説明と属性
safe 
(デフォルト)
メッセージがプロパティー・ファイルに見つからない場合に、例外が設定されないようにします。

このフォーマッターで、リソースが見つからないことを示すメッセージを作成します。

xml メッセージを XML 形式で設定します。

このフォーマッターも、メッセージが見つからない場合、例外を設定せずに、メッセージを書き込みます。

例:  WCALoggerConfig.xmlWCALogger.dtd

  WCALoggerConfig.xml

  <?xml version="1.0" standalone="いいえ"?>
  <!DOCTYPE WCALoggerConfig SYSTEM "WCALogger.dtd">
  <WCALoggerConfig>
  <component name="MassLoader">
   <logger type="message">
    <handler type="file">
     <filePath>c:\temp\out.txt</filePath>
      <filter type="Any">
       <messageType name="FATAL"/>
       <messageType name="ERROR"/>
       <messageType name="WARNING"/>
       <messageType name="INFO"/>
      </filter>
    </handler>
   </logger>
   <logger type="trace">
    <handler type="file">
     <filePath>out2.txt</filePath>
      <filter type="Any">
       <messageType name="PUBLIC"/>
      </filter>
    </handler>
   </logger>
   <logger type="typedMessage">
    <handler type="file">
     <filePath>tout.txt</filePath>
      <filter type="Any">
       <messageType name="FATAL"/>
       <messageType name="ERROR"/>
       <messageType name="WARNING"/>
       <messageType name="INFO"/>
      </filter>
    </handler>
   </logger>
   <logger type="progress">
    <handler type="console" format="safe">
      <filter type="Any">
       <messageType name="FATAL"/>
       <messageType name="ERROR"/>
       <messageType name="WARNING"/>
       <messageType name="INFO"/>
      </filter>
    </handler>
   </logger>
  </component>
  <component name="DTDGenerator">
   <logger type="message">
    <handler type="console">
      <filter type="Any">
       <messageType name="FATAL"/>
       <messageType name="ERROR"/>
       <messageType name="WARNING"/>
       <messageType name="INFO"/>
      </filter>
    </handler>
   </logger>
   <logger type="trace">
    <handler type="console">
      <filter type="Any">
       <messageType name="FATAL"/>
       <messageType name="ERROR"/>
       <messageType name="WARNING"/>
       <messageType name="INFO"/>
      </filter>
    </handler>
   </logger>
  </component>
  </WCALoggerConfig>

  WCALogger.dtd

  <!-- この DTD は、WCALoggerConfig XML を構造化する方法を記述します。
WCALoggerConfig XML 文書は、WCALoggerFactory クラスの入力構成ファイルです。
  -->

  <!ELEMENT WCALoggerConfig (component)+>

  <!ELEMENT component (logger)+>
  <!ATTLIST component name CDATA #REQUIRED>
  <!ELEMENT logger (handler+,messageFile?)>
  <!ATTLIST logger type (message | trace | typedMessage | progress) "typedMessage">

  <!-- messageFile は、メッセージをロケール固有にするのに使用できる、オプションのデフォルト・プロパティー・ファイルです。
  -->
  <!ELEMENT messageFile (#PCDATA)>
  <!ELEMENT handler (filePath?, filter, jdbc?)>
  <!ATTLIST handler
  type ( file|multiFile|console|error|textArea|database|ejbQueue|queue ) "console">

  <!-- maxFiles と maxKBFileSize は、multiFile タイプのハンドラーにだけ適用されます。
  -->
  <!-- filePath と encoding は、ハンドラーが file または multiFile のタイプの場合にだけ適用されます。
  -->
  <!ATTLIST handler maxFiles CDATA #IMPLIED>
  <!ATTLIST handler maxKBFileSize CDATA #IMPLIED>
  <!ATTLIST handler encoding CDATA #IMPLIED>
  <!ATTLIST handler format (safe | xml) "safe">
  <!-- maxRecords と brand は、database ハンドラー・タイプにだけ適用可能です
  -->
  <!ATTLIST handler maxRecords CDATA #IMPLIED>
  <!ATTLIST handler brand (DB2) #IMPLIED>
  <!-- jdbc タグは、database ハンドラー・タイプのタグ内にある必要があります
  -->
  <!ELEMENT jdbc EMPTY>
  <!ATTLIST jdbc url CDATA #IMPLIED>
  <!ATTLIST jdbc table CDATA #IMPLIED>
  <!ATTLIST jdbc userid CDATA #IMPLIED>
  <!ATTLIST jdbc password CDATA #IMPLIED>

  <!ELEMENT filter (messageType+)>
  <!ATTLIST filter type (Any | All | Exclude ) "Any">

  <!-- messageType 属性名は、次の JLog IRecordType 定数の 1 つです
  -->
  <!ELEMENT messageType EMPTY>
  <!ATTLIST messageType name ( NONE | ALL | INFO |
  INFORMATION | WARN | WARNING | ERR | ERROR |
  FATAL | DEFAULT_MESSAGE | API | CALLBACK |
  ENTRY_EXIT | ENTRY | EXIT | ERROR_EXC |
  MISC_DATA | OBJ_CREATE | OBJ_DELETE |
  PRIVATE | PUBLIC | STATIC | SVC | PERF |
  LEVEL1 | LEVEL2 | LEVEL3 ) "ALL">
  <!ELEMENT filePath (#PCDATA)>

関連概念

関連タスク

IBM 著作権