Access Keys:
Skip to content (Access Key - 0)

本ページはESB Muleのロッギングの仕組みと設定に付いて説明しています。
ESB Muleはcommons-loggingを利用しています。commons-loggingはclasspathを検索して、利用するロッギング・ソフトウエアを決めます。例えば、classpathにLog4JやJDK Loggerが含まれていたら、最初に設定されていたログ・ソフトウエアを使います。なお、ESB Muleには、Log4Jが同梱されています。Log4Jの設定は log4j.properties ファイルで行います。

ESB Muleは、Log4Jのソフトウエアを同梱していますが、その設定ファイルである log4j.properties はデフォルトでは設定されていません。多くのアプリケーションで既にLog4Jを利用されていて、また新しいログ設定を行わないためです。しかし、ましまで log4j.properties が設定されていない場合は、ESB Muleに同梱されている全ての例題ディレクトリに含まれています。これらをコピーして利用することができます。

トラブルシューティング

ログが出力されない

log4j.properties をclasspathをルートに移動/作成してください。まだ log4j.properties を作成していない場合は、ここから入手できます。Log4Jの詳細に付いてはApacheのlog4jサイトを参照にしてください。

Log4Jを設定したが、ログが正しく出力されない

classpathに指定した他ディレクトリ下に log4j.properties ファイルがあるか確認をしてください。ESB Muleがどの log4j.properties を利用しているか確認するには、以下のJVMパラメータをESB Mule起動スクリプト(又はESB Muleを組込みで利用されている場合は、コンテナの設定)に追加します:

-Dlog4j.debug=true

ESB Muleを起動すると、標準出力(stdout)にLog4Jの起動情報及び利用している設定を出力します。見つけたLog4J設定をclasspathから取外(例: log4j.properties ファイルを削除する)してください。

Log4Jを利用したくない

ESB Muleが利用するclasspathから log4j-xx.jar を削除してください。代わりに利用するログ・ソフトウエアがcommons-loggingから利用できるか確認し、そのjarファイルをESB Muleが利用するclasspathに追加してください。(JDK1.4Loggerを利用する場合は、classpathへの追加は不要です。)
現時点では、commons-loggingはLog4Jバージョン1.2x, 1.3x、JDK1.4 Logger、Avalon Logkit、JDK1.3 Lumberjack LoggerとSimpleLoggerに対応しています。

JMXを利用したログを制御したい

ESB Muleの設定にLog4J Jmxエージェント設定を追加することで、JMXからロッギングを制御できます。

<agents>
    <agent name="Log4jJmx" className="org.mule.management.agents.Log4jAgent"/>
</agents>

デフォルトJMXサポート・エージェント

全てのJmxエージェントはクラス DefaultJmxSupportAgent から設定することができます。以下のエージェントにESB Muleインスタンスと登録します:

  • RMIエージェント(必要であれば)URI:rmi://localhost:1099
  • JMXレジストレーション・エージェント
  • リモートJMXアクセス。サービス:jmx:rmi:///jndi/rmi://localhost:1099/server
  • JMX通知エージェント。JMX通知を使ってサーバからの通知を受信するため。
  • Log4J Jmxエージェント
  • (任意) JDMKエージェント - loadJdmkAgent プロパティをtrueに設定 (ESB Mule 1.3.1以降)
  • (任意) MX4Jエージェント - loadMx4jAgent プロパティをtrueに設定 (ESB Mule 1.3.1以降)

以下の設定を追加します:

<agent name="JMX" className="org.mule.management.agents.DefaultJmxSupportAgent"/>

ESB Mule 1.4以降からは、以下のプロパティも設定することができます:

  • port - RMIレジストリを実行するポート番号。JMX管理でも利用されます。(デフォルト: 1099
  • host - バインドするホスト。マルチNICサーバの場合のみに上書きする必要があります。(デフォルト: localhost
  • credentials - リモートJMXサーバへ接続する場合のユーザ名/パスワードのMap。設定はJmxAgentに中継されます。JmxAgentのドキュメントを参照にしてください。

エージェントはJMXのために多くの作業を行います。ただし、多くのパラメータにはデフォルト設定を使います。サブ・システムをカスタマイズする必要がある場合は、以下のような処置を取ることができます:

  1. DefaultJmxSupportAgent を継承して、 createXXX() ファクトリ・メソッドをオーバーライドする。
  2. サポート・エージェントのサービスを別々のサービスに分解して、サービス毎に設定を行う。
Adaptavist Theme Builder (3.3.2-conf2.10) Powered by Atlassian Confluence 2.10, the Enterprise Wiki.
Free theme builder license