expect4jライブラリを使用するJSFアプリケーションを構築していますが、glassfishサーバーのログに出力を抑制するのが非常に困難です。私は、expect4jのlogging.propertiesファイルに基づいて、src/main/resourcesディレクトリにlogging.propertiesファイルを作成しようとしました。私は同じことを達成するためにlog4j2.xmlファイルを作成しようとしました。私はさらに、web4の横にあるWEB-INFディレクトリにlog4j2.xmlファイルを移動してみました。jarからログ出力を抑制するのに問題がある
info/debugレベルで多くのメッセージを生成するので、抑制したいと思います。ここではメッセージの例です:
expect4j上で探し[2016-06-25T14:36:06.195-0600] [glassfish 4.1] [INFO] [] [] [tid: _ThreadID=225 _ThreadName=Thread-8] [timeMillis: 1466886966195] [levelValue: 800] [[4229 [__ejb-thread-pool5] DEBUG expect4j.Expect4j - Found EOF]]
、唯一のSLF4Jに依存すること表示されますので、私は私のロガーとしてlog4j2定義するとどんな問題があってはなりません。
は、ここで私は私のMavenプロジェクトに含めています次の依存関係です:
- expect4j:1.6
- SLF4J-log4j12:1.7.7
- JSTL:1.2
- JSTL-API: 1.2-REV-1
- するjavax.ejb-API:3.2
- JSF-API:2.2.8-02
- JSF-IMPL :2.2.8-02
- primefaces:5.2
- のlog4j-ウェブ:
handlers=java.util.logging.ConsoleHandler .level=INFO java.util.logging.ConsoleHandler.level=INFO #expect4j.handler=java.util.logging.ConsoleHandler expect4j.level=SEVERE
ここでは何がある:ここでは2.6.1
が、私は私のlogging.propertiesにファイルしたものです
<?xml version="1.0" encoding="UTF-8" ?>
<Configuration status="INFO">
<Appenders>
<Console name="Console" target="STDOUT">
<PatternLayout
pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
</Appenders>
<Loggers>
<Logger name="expect4j" level="error" additivity="false">
<AppenderRef ref="Console" />
</Logger>
<Root level="warn">
<AppenderRef ref="Console" />
</Root>
</Loggers>
</Configuration>
私は、このリンクを見ましたが、私はそれがjconsoleをして指摘されたかのいずれかを見ていませんでした:私は私のlog4j2.xmlファイルを持っています私はglassfishサーバーに接続しました。 Suppress java util logging from 3rd party jar。
ご協力いただきありがとうございます。
トリックをやったような@rgoersありがとうございます。 Eclipseプロジェクトを最初にセットアップしたとき、Mavenが提供していた提案は不完全でした。 EclipseはMaven Indexingが無効になっていることを示していたので、私はそれを有効にする方法についてGoogle検索を行い、最終的にはより完全なリポジトリを検索しました。これは私が必要とするすべてのslf4jライブラリとlog4jライブラリを生成しました。私の場合、expect4jライブラリでは、ライブラリがslf4jを利用しているため、java.util.loggingは必要ありませんでした。あなたの助けをもう一度ありがとう。 – klog