2017-04-01 17 views
0

私はこれについて長い間研究しており、まったく解決策を得ていません。私の要件は、場所にない場合はログファイルを作成することです。以下 は私のlogback.xmlSLF4J +ファイルを作成するためのLogback(存在しない場合)/削除された場合

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

<property name="LOG_PATH" value="/home/logs" /> 

<appender name="FILE-AUDIT" 
    class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <file>${LOG_PATH}/debug.log</file> 
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 
     <Pattern> 
      %p\t%d{dd MMM yyyy HH:mm:ss,SSS}\t%r\t%c\t[--%t--]\t%m%n 
     </Pattern> 
    </encoder> 

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
     <!-- rollover daily --> 
     <fileNamePattern>${LOG_PATH}/debug.%d{yyyy-MM-dd}.%i.log 
        </fileNamePattern> 
     <timeBasedFileNamingAndTriggeringPolicy 
      class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
      <maxFileSize>10MB</maxFileSize> 
     </timeBasedFileNamingAndTriggeringPolicy> 
    </rollingPolicy> 

</appender> 

<logger name="com.example" level="debug" 
    additivity="false"> 
    <appender-ref ref="FILE-AUDIT" /> 
</logger> 

<root level="debug"> 
    <appender-ref ref="FILE-AUDIT" /> 
</root> 

</configuration> 

であると私は設定のデバッグ=「true」を、ない幸運に構成を変更しようとしています。 これを実装する正しい方法は何ですか?

ファイルのアクセス許可をチェックするか、Log4jを使用するように頼んではいけません。アプリケーションをlog4jではなくslf4jに変更しました。ファイルを削除しても作成する必要があります。

答えて

0

ファイルの追加にはch.qos.logback.core.FileAppenderを使用してください。あなたは以前にあなたはLog4jの間の競合を避けるために、tryingsでご.pomから「春・ブート・スターター・ログ」を除外していないことを確認のLog4jで働いていたことを言ってきたので

<appender name="File-Appender" class="ch.qos.logback.core.FileAppender"> 
     <file>${LOG_PATH}/logfile-${timestamp-by-second}.log</file> 
     <encoder> 
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> 
     </encoder> 
</appender> 
0

とslf4j。

<dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 
</dependencies> 
:私は logback.xmlで同じ設定を使用していますし、すべてがポンポンの微細

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender"> 
     <encoder> 
      <Pattern>%d{HH:mm:ss} [%thread] %-5level %logger{36} - %msg %n</Pattern> 
     </encoder> 
     <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> 
      <level>TRACE</level> 
     </filter> 
    </appender> 

    <appender name="testServiceFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
     <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
      <FileNamePattern>logs/test_service_%d{yyyy-MM-dd}.log</FileNamePattern> 
     </rollingPolicy> 
     <encoder> 
      <Pattern>%-5level %logger{35} - %msg %n</Pattern> 
     </encoder> 
    </appender> 

    <logger name="com.mycompany.test" additivity="false"> 
     <level value="INFO"/> 
     <appender-ref ref="testServiceFileAppender"/> 
    </logger> 

    <root> 
     <level value="INFO"/> 
     <appender-ref ref="consoleAppender"/> 
    </root> 
</configuration> 

を働いている

関連する問題