4

私のプロジェクトでは、IntelliJ IDEA as IDE のテスト自動化にSerenity BDDを使用しています。テストを実行するたびに表示されるログの形式とデバッグ レベルを変更したいと考えています。

たとえば、[メイン] スレッドからのみログを表示したい:

[main] INFO net.thucydides.core.reports.junit.JUnitXMLOutcomeReport
[pool-3-thread-1] INFO net.thucydides.core.reports.ReportService - 

ログバックの方法は知っていますが、セレニティのログ設定を変更する方法と場所に関する情報が見つかりません。

4

1 に答える 1

2

出力は、Serenity BDD ではなく、テストしているコードによって生成されます。したがって、出力を変更するには、使用するロガーのロギング プロパティを変更する必要があります。

slf4j はロギング ファサードであり、適切なロガーを見つけて出力をリダイレクトします。そのため、ロガーをアプリケーションに追加してから、好きなように構成する必要があります。

たとえば、構成に logback を追加します。

プロジェクトへの依存関係としてログバックを追加します

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.1.3</version>
</dependency>

src/test/resources/logback-test.xmlどのログバックがログに記録するかをガイドするために追加します。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>
                %-5level %logger{36} - %msg%n
            </Pattern>
        </layout>
    </appender>

    <!-- set DEBUG logging level for a package -->
    <logger name="com.my.package" level="debug">

    <!-- log warnings and errors by default -->
    <root level="warn">
        <appender-ref ref="STDOUT" />
    </root>

</configuration>

この構成では、警告とエラーがコンソールに記録されます。また、 package の debug および info メッセージもログに記録しますcom.my.package

logback が気に入らない場合は、log4j2 または任意の他のロガーを使用してください。

于 2015-10-04T09:11:06.180 に答える