1

ロギングに Commons Logging を使用するアプリケーションがあります。Maven でビルドされ、テストには TestNG を使用します。テスト中にログ レベルを微調整しようとしていますが、うまくいきません。何をしても、すべてが INFO に設定されます。クラスパスに logging.properties ファイルを作成しようとしましたが、まったく何もしません。log4testng.properties ファイルも作成しました - これは読み取られています (意図的に構文エラーを導入した後に TestNG がエラーを表示したため、これはわかっています) が、その設定は効果がありません。

助言がありますか?


EDIT:まあ、根本的な問題(java.util.loggingが設定の試みを無視している理由)を理解していませんが、テスト中にLog4jを利用可能にしてから設定することで、必要なものを得ることができました。現時点では本当に気にしないので、この質問を閉じます。

4

2 に答える 2

1

これに対する回避策を見つけました。カスタムの logging.properties を src/test/resources に作成し、セットアップ呼び出しで次のようにロードします。

@BeforeClass(alwaysRun = true)
protected void setUp() throws SecurityException, IOException
{
    FileInputStream fis = new FileInputStream(BaseRestTest.class.getResource("/logging.properties").getFile());
    LogManager.getLogManager().readConfiguration(fis);
}

これは、TestNG がルート ロガーを略奪した後に、ルート ロガーを再構成するように見えます。

于 2015-01-12T23:54:06.580 に答える
-1

マイク、

testng.xml でログ レベルを調整できます。

<suite verbose="3"...  (up to 10)

TestNG は Log4J も java.util.logging も使用しません。

于 2010-07-13T02:00:45.110 に答える