2016-06-25 13 views
0

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

ご協力いただきありがとうございます。

答えて

2

slf4j-log4j12を使用して、すべてのslf4j出力をlog4j 1.xにルーティングしています。代わりに、log4j-slf4j-implを使用してください。 expect4jがslf4jを使用している場合、logging.propertiesは必要ありません。 log4j-slf4j-implにそれらを含める必要がありますが、log4j-apiとlog4j-core jarsも含める必要があります。 java utilのログ出力をlog4j 2に向けたい場合は、log4j-jul jarも含めてください。

+0

トリックをやったような@rgoersありがとうございます。 Eclipseプロジェクトを最初にセットアップしたとき、Mavenが提供していた提案は不完全でした。 EclipseはMaven Indexingが無効になっていることを示していたので、私はそれを有効にする方法についてGoogle検索を行い、最終的にはより完全なリポジトリを検索しました。これは私が必要とするすべてのslf4jライブラリとlog4jライブラリを生成しました。私の場合、expect4jライブラリでは、ライブラリがslf4jを利用しているため、java.util.loggingは必要ありませんでした。あなたの助けをもう一度ありがとう。 – klog

関連する問題