0

ログファイルを生成する log4j2.xml を取得しました。構成は次のとおりです。

<Configuration status="INFO" advertiser="multicastdns">
    <Properties>
        <Property name="layout">%d | %-5p | [%t] | %c{2} | %M | %m%n
        </Property>
    </Properties>
    <Appenders>
        <RollingFile name="LogFile" fileName="${sys:user.home}/logs/webapp.log"
            filePattern="${sys:user.home}/logs/webapp-%d{yyyy-MM-dd}-%i.log"
            bufferedIO="false" advertiseURI="file:///C://users/bilguuna/logs/webapp.log"
            advertise="true">
            <PatternLayout pattern="${layout}" />
            <Policies>
                <TimeBasedTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="1 MB" />
            </Policies>
            <DefaultRolloverStrategy max="10" />
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="INFO">
            <AppenderRef ref="LogFile" level="INFO" />
        </Root>
    </Loggers>
</Configuration>

を使用してログファイルを表示できます

file:///C://users/bilguuna/logs/webapp.log

ブラウザで。

問題は、ZeroConf タブで、私のアペンダー「LogFile」が接続ステータス「接続済み」で表示されることです。しかし、その行をダブルクリックすると、切断/接続に変更されます。Chainsaw-logを確認すると。以下の画像のように接続が拒否されたとのことです。 ここに画像の説明を入力

私のマシンでは開いていないデフォルトのポートとして Chainsaw が 4555 を選択するためだと思います。では、どのポートを選択し、log4j2.xml ファイルでどのように設定すればよいのでしょうか?

ありがとう

更新:@Scottが提案したように開発者スナップショットバージョンを使用した後、「接続が拒否されました」問題が解消したようです。しかし、まだログを見ることができません。ZeroConf タブのエントリをクリックしても、接続ステータスが接続済み/未接続に変わります。チェーンソーログタブのログは次のとおりです。 ここに画像の説明を入力

繰り返しますが、ZeroConf タブのエントリをダブルクリックすると、実際のログが表示されるはずでしたか? 更新:コンソールで次の例外が発生しました:

 WARNING: SocketListener(WS00943.local.).run() exception 
java.io.IOException: DNSIncoming corrupted message
    at javax.jmdns.impl.DNSIncoming.<init>(DNSIncoming.java:239)
    at javax.jmdns.impl.SocketListener.run(SocketListener.java:50)
Caused by: java.lang.IllegalStateException: Can't overwrite cause with java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [javax.jmdns.impl.constants.DNSResultCode]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
    at java.lang.Throwable.initCause(Unknown Source)
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1344)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1206)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
    at javax.jmdns.impl.DNSIncoming.readAnswer(DNSIncoming.java:342)
    at javax.jmdns.impl.DNSIncoming.<init>(DNSIncoming.java:229)
    ... 1 more
Caused by: java.lang.ClassNotFoundException
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1343)
    ... 5 more
4

1 に答える 1

1

問題は、チェーンソーの最新の開発者スナップショットを使用して log4j2 を操作する必要があることです。webstart-runnable バージョンは、log4j1 でのみ機能します。

開発者のスナップショットは、http: //home.apache.org/~sdeboy/で入手できます。

于 2016-03-07T03:24:35.490 に答える