春のブートアプリケーションでのダブルログファイル

user1884155:

私は、ログを設定するには、プロパティファイルの次の階層を使用してサービス1と呼ばれる春のブートアプリケーションを、持っています:

bootstrap.ymlがあります。

  • spring.application.name = service1

application.ymlがあります。

  • logging.file: /app/logs/${spring.application.name}.log
  • logging.level.root: INFO
  • logging.level.com.myproject.api: TRACE

使用されるログフレームワークは、ロンボクの使用により、すべてのクラスに注入されSLF4J、ある@Sfl4j注釈を。春のブート主張それがないている、このためのデフォルトサポートを持っているが、何私が見/app/logsたアプリケーションが起動し、2つのログファイルのとき:

  • /app/logs/myservice1.log :このファイルは、正しい場所と名前を持っていますが、ログレベルは、トレース(のみの情報)ではありません
  • /app/logs/myservice1-service.log:このファイルは、間違った名前を持つ(どこん-serviceから来るの?)それは、正しいログレベルを持っています。私は、このファイルの名前は、このコードが存在するGitリポジトリ内のディレクトリの名前と一致していることに気づいた、それはまたのIntelliJのコードのこの作品のモジュールの名前です。私は、この名前はスプリングによって、「ピックアップ」することができ、何とかコンパイルされたコードを実行している場合、ログファイル名に使用する方法を説明することはできません!

私は春のブーツを得るために、私ポンポンファイルに次の宣言を使用し、私はいくつかのデフォルトlogbackのものはまた、私は宣言Sfl4jに加えて、ログファイルを作成しているかもしれないと思います。私は名前のIのspecifiede、正しいログレベルで、唯一のログファイルを持つことができる方法はありますか?おそらく、私は、依存関係を排除する必要がありますか?

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
                <version>${spring.boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring.cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
米:

プロパティファイルにfolowingを追加

logging.config=logback.xml

そして、logback.xmlファイルを作成します。ここでは、たとえば、あなたが好きな設定を置くことができます。

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

<!-- Logging to system file -->
<appender name="system-file" class="ch.qos.logback.core.rolling.RollingFileAppender">

    <!-- output filename -->
    <file>logs/app.log</file>


    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <fileNamePattern>logs/app_%d{yyyy-MM-dd}.%i.log</fileNamePattern>
    <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
        <maxFileSize>500MB</maxFileSize>
    </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>
    <encoder>
    <pattern>%d{dd-MM-yyyy HH:mm:ss} - %c [%t] %-5p - %m%n</pattern>
    </encoder>
</appender>


<!-- overide levels for specific loggers-->
<logger name="com.myproject.api" level="TRACE" />


<root level="INFO">
    <appender-ref ref="system-file"/>
</root>
</configuration>

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=192337&siteId=1