1

デバッグを容易にするために、JBoss7.1のserver.logファイルを出力するサーブレットを開発しました。

私がやりたいのは、JBossの出力をカスタマイズし、出力の各行がどの戦争から生成されたかを表示することです。

よりよく理解するために、これは現在のサンプル出力です。

サーブレットとしてのサーバーログ

私が欲しいのは、この出力がどのデプロイメントから来ているのかを識別する何かを出力することでもあります。

各出力のURLの後で、展開ごとに異なる7001ポートの後の番号に気づきましたが、それをwarファイルに関連付ける方法がわかりません。

誰かが私がそれをどのように行うことができるか考えていますか?

前もって感謝します

アップデート

これはWebhttp://java.dzone.com/articles/configuring-logging-jbossでJBossの設定について見つけましたが、残念ながら別のバージョン用です。ここでは、log4jにデプロイメントごとに異なるログファイルを作成させる方法について説明します。それが私にとっての究極の解決策になるでしょう。

4

1 に答える 1

1

まず、(ログの内容から)System.out.printlnとSystem.err.printlnを使用しているようです。

ロギングをslf4j、log4j、commons-logging、そしてもちろんjboss-logging(Jamesに感謝)に切り替えると、ロギング元のパッケージを確認できます。

適切なログ機能を使用すると、構成ファイルを編集してカテゴリでフィルタリングできます。

また、ロギングはより読みやすく表示されます。

05:21:42,272 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 27) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)

$JBOSS_HOME/standalone/configuration/standalone.xmlでスタンドアロン設定を使用していると仮定します

ロギングサブシステムを見つける必要があります

    <subsystem xmlns="urn:jboss:domain:logging:1.1">

そして、periodic-rotating-file-handlerタイプの新しいアペンダーを作成します。

        <periodic-rotating-file-handler name="APPLOG1">
            <formatter>
                <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
            </formatter>
            <file relative-to="jboss.server.log.dir" path="applog1.log"/>
            <suffix value=".yyyy-MM-dd"/>
            <append value="true"/>
        </periodic-rotating-file-handler>

次に、フィルターを追加します。

         <logger category="com.yourapppackage">
            <level name="INFO"/>
            <handler name="APPLOG1"/>
        </logger>

それでうまくいくはずです。

私が間違っていない場合は、管理コンソールとCLIからアペンダーとカテゴリフィルターを作成することもできます

よろしく

于 2012-07-24T16:31:00.340 に答える