ログ ファイルのコンフィグレーションとログ メッセージのフィルタ処理
![]() |
![]() |
![]() |
![]() |
以下の節では、WebLogic Server のロギングのシナリオと基本的なコンフィグレーション タスクについて説明します。メッセージのフィルタ処理とサブスクライブの詳細な手順については、「WebLogic Server ログ メッセージのフィルタ処理」と「メッセージのサブスクライブ」を参照してください。
WebLogic Server システム管理者と開発者は、ロギング出力をコンフィグレーションし、ログ メッセージをフィルタ処理してエラーをトラブルシューティングしたり、特定のイベントの通知を受信したりします。
以下に、ロギングのコンフィグレーション シナリオの一部を示します。
DEBUG
メッセージおよび INFO
メッセージがログ ファイルに記録されないようにする。INFO
レベルのメッセージを、標準出力ではなくログ ファイルにパブリッシュできるようにする。WARNING
以上のメッセージをハンドラがパブリッシュするように指定する。
ロギングの量の制御は、LogMBean
インタフェースを介して行えます。ロギング プロセスでは、サブスクライブされたハンドラまたはアペンダにロギング要求がディスパッチされます。WebLogic Server では、ログ メッセージを標準出力に送信するためのハンドラ、サーバ ログ ファイル、ドメイン ログへのメッセージのブロードキャスト機能、リモート クライアント、ログ イベントを末尾表示するためのメモリ バッファが WebLogic Server Administration Console から利用できます。各種ハンドラの量の制御を行うには、重大度などの条件を基にログ メッセージをフィルタ処理します。LogMBean
には、重大度を設定し、WebLogic Server ハンドラのフィルタ条件を指定するための属性を定義します。
以前のバージョンの WebLogic Server では、システム管理者と開発者は、ロガーとハンドラにプログラム的なアクセスしかできませんでした。このリリースの WebLogic Server では、MBean を使用してハンドラをコンフィグレーションできるので、最も基本的なロギング コンフィグレーションのコードを記述する必要はありません。Administration Console と WebLogic Server Scripting Tool (WLST) では、ロギング MBean とやりとりするためのインタフェースが提供されます。また、Dweblogic.log.
attribute-name
=
value
を使用して、コマンドラインで LogMBean
パラメータを指定することもできます (たとえば、Dweblogic.log.StdoutSeverity=Debug
)。『WebLogic Server コマンド リファレンス』の「weblogic.Server コンフィグレーション オプション」を参照してください。
さらに詳細な使い方のシナリオを利用したり、ロガーをコンフィグレーションしたりする場合は、Java ロギング API を使用します。
ロギングの量の制御で最も単純なのは、ハンドラに対して重大度を設定することです。基準となる重大度を指定して、それより低いレベルのメッセージの拒否するように設定することなどができます。たとえば、標準出力のハンドラには、デフォルトの重大度のしきい値として Notice
が設定されています。そのため、重大度が INFO
および DEBUG
のメッセージは標準出力に送信されません。
ハンドラに対してフィルタをコンフィグレーションすると、HTTP および JDBC サブシステムからのメッセージのみを標準出力に送信するなど、パブリッシュ用にログ メッセージを受け付ける条件を指定できます。
注意 : ロガーまたはハンドラのコンフィグレーションを変更する場合は、java.util.logging.LoggingPermission が必要です。プロダクション環境では、現在のユーザに対して java.util.logging.LoggingPermission
を有効にした Java セキュリティ マネージャの使用をお勧めします。
『WebLogic Security プログラミングの概要』の「Using the Java Security Manager to Protect WebLogic Resources」および Sun API のドキュメント (http://java.sun.com/j2se/1.5.0/docs/guide/logging/overview.html) を参照してください。
以下の節では、WebLogic Server のロギング動作をコンフィグレーションする際の基準点について詳細を説明します。
各ログ メッセージには、関連する重大度があります。重大度は、ログ メッセージの重要性と緊急度を大まかに示します。WebLogic Server では、TRACE
から EMERGENCY
までの重大度があらかじめ定義されています。これらの重大度は、ログ要求がロガーにディスパッチされるとログ レベルに変換されます。ログ レベル オブジェクトは、以下の値 (影響の小さい方から大きい方の順で並んでいる) のいずれかを指定できます。
TRACE
、DEBUG
、INFO
、NOTICE
、WARNING
、ERROR
、CRITICAL
、ALERT
、EMERGENCY
ロガーとハンドラに対してログのセキュリティ レベルを設定できます。ロガーに対してセキュリティ レベル設定した場合、いずれのハンドラも、ロガーによって拒否されたイベントを受信しません。たとえば、ロガーに対してログ レベルを NOTICE
に設定した場合、ハンドラは、INFO
レベルのイベントを受信しません。ハンドラに対してログ レベルを設定した場合、制約はそのハンドラにのみ適用され、他のハンドラには及びません。たとえば、ファイル ハンドラに対して DEBUG
をオフにしても、DEBUG
メッセージがログ ファイルに書き込まれないわけではありません。ただし、DEBUG
メッセージは標準出力に書き込まれます。
サポートされている重大度については、weblogic.logging.Severities クラスを参照してください。
ハンドラに対するログ レベルの設定は、Administration Console、WLST、またはコマンド ラインで行います。ロガーのコンフィグレーションには API のみを使用できます。「ロガーとハンドラに対する重大度の設定」を参照してください。
Logger
オブジェクトがパブリッシュするメッセージをより細かく管理できるようにするために、フィルタを作成して設定できます。フィルタはカスタム ロジックによりログ記録の内容を評価するクラスで、ログ メッセージを受け入れるか拒否するかの判断に使用します。たとえば、特定の重大度のメッセージや、特定のサブシステムに由来するメッセージなど、指定した条件に従ってメッセージを選択的に除去することが可能です。Logger
オブジェクトは、フィルタの基準を満たすログ メッセージだけをパブリッシュします。各サーバ インスタンスから、サーバのログ ファイル、標準出力、メモリ バッファに書き込まれるメッセージ、またはドメイン全体のメッセージ ログにブロードキャストされるメッセージについて、個別にフィルタを作成できます。
フィルタをロガーやハンドラに関連付けることができます。ハンドラに対するフィルタのコンフィグレーションは、Administration Console、WLST、またはコマンド ラインで行います。標準出力、ログ ファイル、ログ フロードキャスタ、およびメモリ ハンドラに対してフィルタを定義するための LogFilterMBean
属性があります。または、プログラムでカスタム フィルタ処理ロジックを実装できます。LogFilterMBean
インタフェースは、ユーザ ID およびサブシステムに基づくフィルタ処理条件を定義します。ロガーに対するフィルタのコンフィグレーションには API のみを使用できます。
「ロガーとハンドラのフィルタの設定」を参照してください。
以下の手順に、WebLogic Server が生成するログ メッセージをコンフィグレーションおよびフィルタ処理する方法を示します。この手順の詳細については、関連マニュアルおよびこのマニュアルの後半の節で説明します。
WebLogic Server メッセージ カタログと WebLogic ロギング サービスを使用して、ログ メッセージを生成するアプリケーションを開発する場合は、XML と Java API に関する知識が必要です。開発者とシステム管理者の多くは、Java ロギング API の前身である Log4j を使用しています。Log4j は、アプリケーション内にログ文を入れるために開発されたオープン ソースのツールです。Log4j ロギング機能は、Apache Foundation の Jakarta プロジェクトによって開発されています。Log4j の詳細については、Log4j プロジェクトのサイト (http://logging.apache.org/log4j/docs/
) を参照してください。
WebLogic Server では、WebLogic ロギング サービスのコンフィグレーションに Log4j を使用できます。「WebLogic ロギング サービスでの Log4j の使い方」を参照してください。
Jakarta Commons Logging API では、基底のログ実装 (Log4j または Java ロギング API) からユーザを分離する抽象レイヤが提供されています。WebLogic Server には Commons LogFactory
インタフェースの実装が用意されており、この API を使用してサーバの Logger
にリクエストを発行できます。「WebLogic ロギング サービスでの Commons API の使い方」を参照してください。
Log4j には、ロガー、アペンダ、レイアウトの 3 つの主要コンポーネントがあります。以下の節では、Log4j について簡単に説明します。
Log4j には、Logger
クラスを定義します。1 つのアプリケーションで、各々がユニークな名前を持つ複数のロガーを作成できます。Log4j の標準的な使い方では、アプリケーションで、ログ メッセージを出力する各アプリケーション クラスの Logger
インスタンスが作成されます。ロガーはネームスペースの階層内に存在し、その階層における上位クラスから動作を継承します。
Log4j には、ロギング出力の送り先を表すアペンダ (ハンドラ) を定義します。複数のアペンダを定義できます。たとえば、1 つのアプリケーションで、ログ メッセージを標準出力に送信するアペンダと、ファイルに書き込むアペンダを定義できます。個々のロガーをコンフィグレーションして、0 または 1 つ以上のアペンダに書き込むようにコンフィグレーションすることもできます。一例としては、すべてのロギング メッセージ (全レベル) をログ ファイルに送信する一方で、標準出力には ERROR
レベル メッセージのみを送信する使い方があります。
Log4j には、ログ メッセージのフォーマットを制御するレイアウトを定義します。各レイアウトにより、特定のメッセージ フォーマットが指定されます。特定のレイアウトが各アペンダと関連付けられます。これにより、たとえばファイル出力とは違うログ メッセージ フォーマットを標準出力に対して指定できます。
WebLogic ロギング サービスでは、Java Logging API に基いた実装がデフォルトで使用されます。LogMBean.isLog4jLoggingEnabled
属性を使用すると、代わりに Log4j をロギング サービスで使用できるようになります。
Administration Console で、Log4j を指定することも、デフォルトのまま Java ロギング実装を使用することもできます (Administration Console オンライン ヘルプの「ロギングの実装の指定」を参照)。
または、LogMBean
インタフェースで Log4j ロギングをコンフィグレーションするには、WebLogic 固有の Log4j クラス WL_HOME
/server/lib/wllog4j.jar
と log4j.jar
ファイルをサーバの CLASSPATH
に追加します。この場合に推奨される方法は、wllog4j.jar
ファイルと log4j.jar
ファイルを DOMAIN_NAME
/lib
ディレクトリに格納することです。これにより、サーバの起動時に各ファイルがサーバの CLASSPATH
に動的に追加されます。
注意 : WebLogic Server の配布キットに Log4j バージョンは含まれていません。
Log4j が有効化されていると、weblogic.logging.log4j.Log4jLoggingHelper
クラスから、サーバが使用している org.apache.log4j.Logger
への参照を取得できます。
Log4j Logger
参照により、独自のカスタム アペンダをアタッチしてサーバ ログ イベントを受け取ることができます。たとえば、サーバ ログ イベントを Syslog または Windows イベント ビューアに送るアペンダをアタッチできます。また、Logger
参照を使用して WebLogic ロギング サービスにログ要求を発行できます。この場合、デプロイされたアプリケーションで Log4j ライブラリが使用可能になっている必要があります。
アプリケーションが WebLogic ロギング サービスと対話する必要がない場合、アプリケーションの LIB
ディレクトリに Log4j ライブラリをパッケージ化します。サーバ ロギングでは、引き続きデフォルトの Java ロギング実装が使用されます。
コード リスト 3-2 に、Log4j Logger
を使用した Log4j のコード サンプルを示します。
デフォルト Java ロギングではなく Log4j Logger
へのロギングを指定するには、次の手順に従います。
weblogic.Server
コマンドに次の Java オプションを指定します。-Dweblogic.log.Log4jLoggingEnabled=true
『WebLogic Server コマンド リファレンス』の「weblogic.Server コンフィグレーション オプション」を参照してください。
Log4jLoggingEnabled
プロパティの値を設定し、サーバを再起動します。 コード リスト 3-1 の WLST コマンドは、管理サーバの Log4j Logger
へのロギングを有効にします。
#WLST を呼び出す
C:\>java weblogic.WLST
#WLST を管理サーバに接続する
wls:/offline>connect('
username
','
password
')
# 書き込み可能な MBean コンフィグレーションツリーに移動する
wls:/mydomain/serverConfig> edit()
wls:/mydomain/edit> startEdit()
#cmo をサーバ ログのコンフィグレーションに設定する
wls:/mydomain/edit !> cd("Servers/myserver/Log/myserver")
#log4j ロギングを true に設定する
wls:/mydomain/edit/Servers/myserver/Log/myserver !> cmo.setLog4jLoggingEnabled(true)
# 変更を保存して有効化する
wls:/mydomain/edit/Servers/myserver/Log/myserver !> save()
wls:/mydomain/edit/Servers/myserver/Log/myserver !> activate()
WLST の使い方については、『WebLogic Scripting Tool ガイド』の「コンフィグレーション MBean の編集」を参照してください。isLog4jLoggingEnabled
の詳細については、『WebLogic Server MBean リファレンス』の「LogMBean」を参照してください。
管理サーバのみに存在するドメインの Logger
だけでなく、サーバの Logger
でも Log4j を使用できます。ドメインの Log4j Logger
参照は、weblogic.logging.log4j.Log4jLoggingHelper.getLog4jDomainLogger()
メソッドを呼び出すと利用可能になります。
コード リスト 3-2 とコード リスト 3-3 の Log4j ロギング コンフィグレーションの例では、以下の項目を示します。
Logger
とデフォルト Java Logger
を使用したドメインの Logger
。 config.xml
で指定する方法。
import org.apache.log4j.Logger;
import weblogic.logging.log4j.Log4jLoggingHelper;
import weblogic.logging.LoggerNotAvailableException;
/**
* この例では、Log4j サーバ Logger の使用方法を示す
*/
public class MyLog4jTest {
public void testWLSLog4j() {
try {
Logger logger = Log4jLoggingHelper.getLog4jServerLogger();
logger.addAppender(myAppender); // log4j プロパティ ファイルか他のカスタム メカニズムのいずれかでアペンダをコンフィグレーションする
logger.info("Test log message");
} catch(LoggerNotAvailableException lex) {
System.err.println("Unable to get a reference to the log4j Logger: "+
lex.getMessage())
}
}
}
コード リスト 3-3 ロギング コンフィグレーションのサンプル
<con:log>
<con:name>medrec</con:name>
<con:file-name>medrec.log</con:file-name>
<con:rotation-type>bySize</con:rotation-type>
<con:file-min-size>20000</con:file-min-size>
<con:log4j-logging-enabled>false</con:log4j-logging-enabled>
</con:log>
<con:log>
<con:name>MedRecServer</con:name>
<con:rotation-type>bySize</con:rotation-type>
<con:file-min-size>20000</con:file-min-size>
<con:stdout-severity>Debug</con:stdout-severity>
<con:stdout-filter>MyFilter</con:stdout-filter>
<con:log4j-logging-enabled>true</con:log4j-logging-enabled>
</con:log>
<con:log-filter>
<con:name>MyFilter</con:name>
<con:subsystem-name>HTTP</con:subsystem-name>
<con:subsystem-name>IIOP</con:subsystem-name>
<con:subsystem-name>JDBC</con:subsystem-name>
<con:subsystem-name>JMS</con:subsystem-name>
</con:log-filter>
コンフィグレーションするために、プログラムで Log4j Logger
とそのアペンダ (ハンドラ) およびレイアウト (フォーマッタ) にアクセスできます。「Log4j アペンダに対する重大度とフィルタの設定」を参照してください。
Java ロギングは、クライアントサイドおよびサーバサイドのロギングのデフォルトです。Log4j は、サーバサイドでのみ使用できます。クライアントサイドではサポートされていません。
WebLogic ロギング サービスでは、WebLogic ロギング サービスで使用される基底ロギング実装に要求を送る Commons LogFactory
インタフェースと Log
インタフェースを利用できます。
Commons Logging を使用するには、WebLogic 固有の Commons クラス WL_HOME
/server/lib/wlcommons-logging.jar
を commons-logging.jar
ファイルとともに以下のいずれかの場所に格納します。
注意 : WebLogic Server の配布キットに Commons ロギング バージョンは含まれていません。
コード リスト 3-4 では、Commons インタフェースの使用方法を示します。
この LogFactory
は、org.apache.commons.logging.Log
インタフェースを実装する weblogic.logging.commons.LogFactoryImpl
のインスタンスを作成します。
Commons Log
インタフェース メソッドは、オブジェクトを受け付けます。ほとんどの場合、これはメッセージ テキストを含む文字列です。さらに、WebLogic ロギングでは、引数として weblogic.logging.commons.CommonsLogObject
参照を Log
メソッドに渡すことができます。
Commons LogObject
は、コンストラクタでメッセージ ID、サブシステム名、および文字列メッセージ引数を取ります。org.apache.commons.logging (http://jakarta.apache.org/commons/logging/api/index.html
) を参照してください。
import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.Log;
import weblogic.logging.commons.CommonsLogObject;
public class MyCommonsTest {
public void testWLSCommonsLogging() {
System.setProperty(LogFactory.FACTORY_PROPERTY,
"weblogic.logging.commons.LogFactoryImpl");
Log clog = LogFactory.getFactory().getInstance("MyCommonsLogger");
// ログ String オブジェクト
clog.debug("Hey this is common debug");
clog.fatal("Hey this is common fatal", new Exception());
clog.error("Hey this is common error", new Exception());
clog.trace("Dont leave your footprints on the sands of time");
// CommonsLogObject によるログ
clog.fatal(new CommonsLogObject("BEA-420000", "Console", "Just a test"));
}
}
デフォルトでは、WebLogic Server インスタンスを開発モードで起動すると、サーバはローカルのサーバ ログ ファイルを自動的に SERVER_NAME.
log
.n
という名前に変更 (ローテーション) します。以降のサーバ セッションでは、ファイル サイズが 500KB になるまで、ログ メッセージは SERVER_NAME
.log
に蓄積されます。
サーバ ログ ファイルがこのサイズに達するたびに、サーバはログ ファイルの名前を変更し、新しい SERVER_NAME
.log
を作成して新しいメッセージを格納します。デフォルトでは、ローテーションされたログ ファイルは作成順に番号が付けられます (filenamennnnn
)。filename
は、ログ ファイルにコンフィグレーションされた名前です。ローテーションされたログ ファイルのファイル名に日付と時刻を含めるように、サーバ インスタンスをコンフィグレーションすることもできます (たとえば、server-name-%yyyy%-%mm%-%dd%-%hh%-%mm%
.log
)。
デフォルトでは、サーバ インスタンスをプロダクション モードで起動すると、ファイル サイズが 5000KB になるたびに、サーバはサーバ ログ ファイルをローテーションします。サーバの起動時にはローカルのサーバ ログ ファイルはローテーションされません。サーバの起動モードの変更については、Administration Console のオンライン ヘルプの「プロダクション モードへの変更」を参照してください。
ログ ファイルのローテーションに関するこれらのデフォルト設定は変更できます。たとえば、サーバがログ ファイルをローテーションするファイル サイズを変更したり、時間間隔に基づいてログ ファイルをローテーションするようにコンフィグレーションしたりできます。蓄積可能なローテーションするファイルの最大数を指定することもできます。ログ ファイル数がこの制限に達すると、以降のファイル ローテーションによって最も古いログ ファイルが削除され、最新のサフィックスの付いた新しいログ ファイルが作成されます。
注意 : WebLogic Server では、ログ ファイルのサイズが大きくなりすぎることを防ぐために強制的に頻繁なローテーションを行う前に、しきい値が 500 MB に設定されます。
ログ ファイルのローテーションの設定については、Administration Console オンライン ヘルプの「ログ ファイルのローテーション」を参照してください。
サーバ、ドメイン、または HTTP アクセス ログ ファイルのローテーションをすぐに行うには、LogRuntime.forceLogRotation()
メソッドを使用します。『WebLogic Server MBean リファレンス』の「LogRuntimeMBean」を参照してください。
コード リスト 3-5 の WLST コマンドは、サーバ ログ ファイルのローテーションをすぐに行います。
コード リスト 3-5 オン デマンドのログ ローテーション
#WLST を呼び出す
C:\>java weblogic.WLST
#WLST を管理サーバに接続する
wls:/offline>connect('
username
','
password
')
#ServerRuntime MBean 階層に移動する
wls:/mydomain/serverConfig> serverRuntime()
wls:/mydomain/serverRuntime>ls()
# サーバの LogRuntimeMBean に移動する
wls:/mydomain/serverRuntime> cd('LogRuntime/myserver')
wls:/mydomain/serverRuntime/LogRuntime/myserver> ls()
-r-- Name myserver
-r-- Type LogRuntime
-r-x forceLogRotation java.lang.Void :
# サーバ ログ ファイルのローテーションをすぐに行う
wls:/mydomain/serverRuntime/LogRuntime/myserver> cmo.forceLogRotation()
wls:/mydomain/serverRuntime/LogRuntime/myserver>
サーバは即座にファイルのローテーションを行い、次のメッセージを出力します。
<Mar 2, 2005 3:23:01 PM EST> <Info> <Log Management> <BEA-170017> <The log file C:\diablodomain\servers\myserver\logs\myserver.log will be rotated.Reopen the log file if tailing has stopped.This can happen on some platforms like Windows.>
<Mar 2, 2005 3:23:01 PM EST> <Info> <Log Management> <BEA-170018> <The log file has been rotated to C:\diablodomain\servers\myserver\logs\myserver.log00001.Log messages will continue to be logged in C:\diablodomain\servers\myserver\logs\myserver.log.>
デフォルトでは、ローテーションされたファイルはログ ファイルと同じディレクトリに格納されます。アーカイブされたログ ファイルの格納先に別のディレクトリを指定するには、Administration Console を使用するか、コマンド ラインから LogFileMBean
の LogFileRotationDir
プロパティを設定します。『WebLogic Server MBean リファレンス』の「LogFileMBean」を参照してください。
次のコマンドでは、-Dweblogic.log.LogFileRotationDir
Java 起動オプションを使用して、アーカイブされたログ ファイルのディレクトリを指定します。
java -Dweblogic.log.LogFileRotationDir=c:\foo
-Dweblogic.management.
username=installadministrator
-Dweblogic.management.
password=installadministrator weblogic.Server
ログ ファイルが指定のローテーションしきい値を超えると、サーバ インスタンスはログ ファイルがローテーションされることを知らせるログ メッセージを出力します。次に、サーバ インスタンスはログ ファイルをローテーションし、古いメッセージが格納されたファイルの名前を知らせる追加メッセージを出力します。
たとえば、サイズに基づいてログ ファイルのローテーションを行うように設定し、最小ローテーション サイズとして 500K を指定した場合、サーバはファイル サイズが 500K を超えたと判断すると次のメッセージを出力します。
<Sept 20, 2004 1:51:09 PM EST> <Info> <Log Management> <MachineName> <MedRecServer> <ExecuteThread: '2' for queue: 'weblogic.kernel.System'> <<WLS Kernel>> <> <> <1095692939895> <BEA-170017> <The log file C:\bea\wls\samples\domains\medrec\servers\MedRecServer\logs\medrec.log will be rotated.Reopen the log file if tailing has stopped.This can happen on some platforms like Windows.>
サーバは即座にファイルのローテーションを行い、次のメッセージを出力します。
<Sept 20, 2004 1:51:09 PM EST> <Info> <Log Management> <MachineName> <MedRecServer>
<ExecuteThread: '2' for queue: 'weblogic.kernel.System'> <<WLS Kernel>> <> <> <1095692939895><BEA-170018> <The log file has been rotated to
C:\bea\wls\samples\domains\medrec\servers\MedRecServer\logs\medrec.log00001. Log messages will continue to be logged in C:\bea\wls\samples\domains\medrec\servers\MedRecServer\logs\
medrec.log.>
どちらのメッセージの重要度も INFO
です。ローテーション前のメッセージのメッセージ ID は常に BEA-170017
で、ローテーション後のメッセージのメッセージ ID は常に BEA-170018
です。
標準 Windows ファイル システムなどのファイル システムでは、読み取り用に開いているファイルにロックが設定されます。このようなファイル システムでは、アプリケーションでログ ファイルの末尾を表示している場合、またはコマンド プロンプトで DOS tail -f
などのコマンドを使用する場合、サーバがログ ファイルのローテーションを行った後にその操作が停止します。tail -f
コマンドは、ファイルに行が追加されたときにメッセージを標準出力に出力します。詳細情報を参照するには、DOS プロンプトで help tail
と入力してください。
アプリケーションでログ ファイルの末尾を表示する場合、こうした状況を解決するには、サーバがログ ローテーション メッセージを出力したときにアプリケーションに通知を行う JMX リスナを作成します。アプリケーションは、このメッセージを受信したときに末尾表示の操作を再開できます。JMX リスナの例については、「メッセージのサブスクライブ」を参照してください。
WebLogic Server インスタンスが動作している JVM は、メッセージを標準エラーおよび標準出力に送信します。サーバとアプリケーション コードは、ロギング メカニズムを使用する代わりに、これらのストリームに直接書き込みます。コンフィグレーション オプションを使用すると、サーバのターミナル コンソールやログ ファイルなど、登録されているすべてのログ送り先に JVM の出力をリダイレクトできます。有効にした場合、ログ エントリは、重大度が NOTICE
のメッセージとして表示されます。JVM 出力のリダイレクトによって、ネイティブ コードからの出力 (たとえば、JVM からのスレッド ダンプ) はキャプチャされません。
たとえば、JVM の標準出力メッセージをリダイレクトするには、次の手順に従います。
weblogic.Server
コマンドに次の Java オプションを指定します。-Dweblogic.log.RedirectStdoutToServerLogEnabled=true
『WebLogic Server コマンド リファレンス』の「weblogic.Server コンフィグレーション オプション」を参照してください。
LogMBean
の RedirectStdoutToServerLogEnabled
プロパティの値を変更し、サーバを再起動します。コード リスト 3-6 の WLST コマンドは、管理サーバの JVM 標準出力メッセージをサーバ ロギング送り先にリダイレクトします。
コード リスト 3-6 サーバ ロギング送り先への標準出力のリダイレクト
C:\>java weblogic.WLST
wls:/offline> connect('username
','password
')
wls:/mydomain/serverConfig> edit()
wls:/mydomain/edit> startEdit()
wls:/mydomain/edit !> cd("Servers/myserver/Log/myserver")
wls:/mydomain/edit/Servers/myserver/Log/myserver !> cmo.setRedirectStdoutToServerLogEnabled(true)
wls:/mydomain/edit/Servers/myserver/Log/myserver !> save()
wls:/mydomain/edit/Servers/myserver/Log/myserver !> activate()
WLST の使い方については、『WebLogic Scripting Tool ガイド』の「コンフィグレーション MBean の編集」を参照してください。RedirectStdoutToServerLogEnabled
の詳細については、『WebLogic Server MBean リファレンス』の「LogMBean」を参照してください。
![]() ![]() |
![]() |
![]() |