Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerCloudHub のログを無効化して、Log4j 設定を使用して CloudHub アプリケーションをログシステムに統合できます。 ユーザーのログシステムと CloudHub の両方にログが送信されるように設定したら、デフォルトの CloudHub アプリケーションログを無効化してください。
この機能は要求に応じてのみ使用できます。
Runtime Manager に [Disable CloudHub logs (CloudHub ログを無効化)] オプションが表示されていない場合は、 ヘルプセンターで要求できます。
MuleSoft のサポートは、カスタムログ設定の実装や、カスタムログ設定に起因する問題の解決については、助言を行いません。
MuleSoft では、以下のような Log4j アペンダーの設定ミスによる問題については責任を負いません。
ログデータの消失
パフォーマンスの低下
ディスクスペースの不足
同期ログアペンダーは使用しないでください。
非同期ログアペンダーのみを使用してください。
CloudHub ログを無効化すると:
Runtime Manager ではシステムログのみを使用できます。
システムログでは、ワーカーのデプロイ状況と、アプリケーションが適切に起動したかどうかが示されますが、アプリケーションログは提供されません。 アプリケーションワーカーのログについては、アプリケーションのログシステムを確認してください。
[Applications (アプリケーション)] > [Logs (ログ)] ページではアプリケーションワーカーのログをダウンロードできません。
CloudHub は、ログが使用できないことを示す警告を表示します。
システムログ (mule_ee.log
) はアプリケーションログと同じ方法で外部ログソリューションに転送することはできません。
独自のログシステムにログを送信すると共に CloudHub でもログを表示できるようにするには、CloudHub Log4j アペンダーを設定する必要があります。
任意の Log4j アペンダーを使用できます。log4j2.xml
の設定については、 「Log4j の設定構文」を参照してください。
Log4j アペンダーを有効化するには、log4j2.xml
設定ファイルを自分のロガー設定で更新し、Log4j アペンダー Log4J2CloudhubLogAppender
および RollingFile
を含めます。
Anypoint Studio では、log4j2.xml
ファイルは src/main/resources
ディレクトリにあります。
log4j2.xml
ファイルの Log4j アペンダーの 2 つの例を示します。
ログデータを CloudHub に送信します。
ログデータを VM のファイルシステムに送信します。
MuleSoft サポートチームがログを表示できるようにするには、log4j2.xml ファイルのカスタム設定にアペンダーを含める必要があります。
|
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO" name="cloudhub" packages="com.mulesoft.ch.logging.appender">
<Appenders>
<RollingFile name="FILE"
fileName="/opt/mule/mule-CURRENT/logs/mule-${sys:domain}.log"
filePattern="/opt/mule/mule-CURRENT/logs/mule-${sys:domain}-%i.log">
<PatternLayout pattern="[%d{MM-dd HH:mm:ss.SSS}] %-5p %c{1} [%t]: %m%n"/>
<DefaultRolloverStrategy max="10"/>
<Policies>
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
</RollingFile>
<Log4J2CloudhubLogAppender name="CLOUDHUB"
addressProvider="com.mulesoft.ch.logging.DefaultAggregatorAddressProvider"
applicationContext="com.mulesoft.ch.logging.DefaultApplicationContext"
appendRetryIntervalMs="${sys:logging.appendRetryInterval}"
appendMaxAttempts="${sys:logging.appendMaxAttempts}"
batchSendIntervalMs="${sys:logging.batchSendInterval}"
batchMaxRecords="${sys:logging.batchMaxRecords}"
memBufferMaxSize="${sys:logging.memBufferMaxSize}"
journalMaxWriteBatchSize="${sys:logging.journalMaxBatchSize}"
journalMaxFileSize="${sys:logging.journalMaxFileSize}"
clientMaxPacketSize="${sys:logging.clientMaxPacketSize}"
clientConnectTimeoutMs="${sys:logging.clientConnectTimeout}"
clientSocketTimeoutMs="${sys:logging.clientSocketTimeout}"
serverAddressPollIntervalMs="${sys:logging.serverAddressPollInterval}"
serverHeartbeatSendIntervalMs="${sys:logging.serverHeartbeatSendIntervalMs}"
statisticsPrintIntervalMs="${sys:logging.statisticsPrintIntervalMs}">
<PatternLayout pattern="[%d{MM-dd HH:mm:ss}] %-5p %c{1} [%t]: %m%n"/>
</Log4J2CloudhubLogAppender>
</Appenders>
<Loggers>
<AsyncRoot level="INFO">
<AppenderRef ref="FILE"/>
<AppenderRef ref="CLOUDHUB"/>
</AsyncRoot>
<AsyncLogger name="com.gigaspaces" level="ERROR"/>
<AsyncLogger name="com.j_spaces" level="ERROR"/>
<AsyncLogger name="com.sun.jini" level="ERROR"/>
<AsyncLogger name="net.jini" level="ERROR"/>
<AsyncLogger name="org.apache" level="WARN"/>
<AsyncLogger name="org.apache.cxf" level="WARN"/>
<AsyncLogger name="org.springframework.beans.factory" level="WARN"/>
<AsyncLogger name="org.mule" level="INFO"/>
<AsyncLogger name="com.mulesoft" level="INFO"/>
<AsyncLogger name="org.jetel" level="WARN"/>
<AsyncLogger name="Tracking" level="WARN"/>
</Loggers>
</Configuration>
log4j2.xml カスタム設定で スクリプトを使用する必要がある場合は、log4j2.Script.enableLanguages システムプロパティを適宜設定して、使用する言語を有効化してください。値のカンマ区切りリストを指定することで、複数の言語を有効化できます。例: log4j2.Script.enableLanguages=js,groovy 。
|
Log4j アペンダーを設定したら、アプリケーションを CloudHub にデプロイしてから、以下の手順に従って CloudHub ログを無効化します。
Anypoint Platform の [Runtime Manager] を選択します。
左側のメニューで [Applications (アプリケーション)] をクリックします。
[Type (種別)] 列をクリックしてアプリケーションの詳細ペインを表示します。
[Manage Application (アプリケーションを管理)] をクリックします。
[Settings (設定)] ページで、[Disable CloudHub logs (CloudHub ログを無効化)] をクリックします。
[Disable CloudHub logs (CloudHub ログを無効化)] 確認ウィンドウで、CloudHub ログの無効化を確認するためのチェックボックスをオンにします。
[Apply Changes (変更を適用)] をクリックします。
アプリケーション設定を参照して、設定が正しいことを確認します。
[Apply Changes (変更を適用)] をクリックして、アプリケーションを再起動します。
アプリケーションが起動すると、カスタム Log4j アペンダーへのログの送信が開始され、対象ログシステムでログを参照できるようになります。