2017-03-01 14 views
2

コンフィギュレーションに基づいて複数のファイル/コンソールへの春ブートログを設定する方法はありますか?すなわち、いくつかのログステートメントは監査ファイルに書き込む必要があり、通常のログステートメントはコンソール/通常のログファイルに移動する必要があります。複数のファイルへの春ブートのログイン

以下は、私が春のブートアプリケーションの例で試したコードです。以下は

logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <include resource="org/springframework/boot/logging/logback/base.xml"/> 
    <logger name="file" level="DEBUG" additivity="false"> 
     <appender-ref ref="FILE" /> 
    </logger> 
    <logger name="org.hello" level="ERROR" additivity="false"> 
     <appender-ref ref="CONSOLE" /> 
    </logger> 
</configuration> 

logging.level.org.springframework.web=INFO 
logging.file=logs/spring-boot-logging.log 

HelloController

@RestController 
public class HelloController { 

Logger logger = LoggerFactory.getLogger(HelloController.class); 

    Logger logger1 = LoggerFactory.getLogger("file"); 

    @RequestMapping("/") 
    public String index() { 

     logger.info("My Log test"); 
     logger1.info("My Audit test"); 


     return "Greetings from Spring Boot!"; 
    } 

} 

以下application.propertiesエントリは、誰かが助けてくださいすることができますか?誰も同じような状況に直面しましたか?

どうもありがとう

答えて

1

標準logbackたとえば、異なるファイルに行くの異なるパッケージで2つのファイル:

<configuration> 

    <appender name="FILE1" class="ch.qos.logback.core.FileAppender"> 
    <file>myApp1.log</file> 
    <encoder> 
     <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern> 
    </encoder> 
    </appender> 

    <appender name="FILE2" class="ch.qos.logback.core.FileAppender"> 
    <file>myApp1.log</file> 
    <encoder> 
     <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern> 
    </encoder> 
    </appender> 

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    <encoder> 
     <pattern>%msg%n</pattern> 
    </encoder> 
    </appender> 

    <logger name="com.package1.foo" level="DEBUG"> 
    <appender-ref ref="FILE1" /> 
    </logger> 

    <logger name="com.package2.bar" level="DEBUG"> 
    <appender-ref ref="FILE2" /> 
    </logger> 

    <root level="debug"> 
    <appender-ref ref="STDOUT" /> 
    </root> 
</configuration> 
0

はちょうどあなたの設定ファイル内の別のロガーとアペンダを追加しての名前を使用してロガーオブジェクトを作成します設定で定義されたロガー。詳細については チェック Spring boot multiple log files

関連する問題