2016-12-15 1 views
1

私は、ロガーポリシーをバネベースのプロジェクトで作成しようとしています。ログバックローリングロギングが動作しない

私が直面している問題は、ローリングポリシーに関連しています。 logfile.logが作成されて正常に動作していますが、ローリングファイルrollingfile.log.%d{yyyy-MM-dd}.logは作成されません。

以下は私のlogback.xmlです。

<?xml version="1.0" encoding="UTF-8"?> 
<configuration debug="true" scan="true" scanPeriod="30 seconds"> 
    <property name="LOG_PATH" value="D:/coinLogs" /> 
    <property name="LOG_ARCHIVE" value="${LOG_PATH}/archive" /> 

    <appender name="Console-Appender" class="ch.qos.logback.core.ConsoleAppender"> 
     <layout> 
      <pattern>[%d{yyyy-MM-dd HH:mm:ss}] - [%X{requestId}] - %p %c -- %m%n</pattern> 
     </layout> 
    </appender> 

    <appender name="File-Appender" class="ch.qos.logback.core.FileAppender"> 
     <file>${LOG_PATH}/logfile.log</file> 
     <encoder> 
      <pattern>[%d{yyyy-MM-dd HH:mm:ss}] - [%X{requestId}] - %p %c -- %m%n 
      </pattern> 
      <outputPatternAsHeader>true</outputPatternAsHeader> 
     </encoder> 

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


    <logger name="coinPay.logbackxml" level="info" additivity="false"> 
     <appender-ref ref="Console-Appender" /> 
     <appender-ref ref="File-Appender" /> 
    </logger> 

    <!-- To remove extra hibernate logs --> 
    <logger name="org.hibernate"> 
     <level value="info" /> 
    </logger> 

    <root> 
     <appender-ref ref="Console-Appender" /> 
     <appender-ref ref="File-Appender" /> 
    </root> 

</configuration> 

助けてください。 D

答えて

2

appenderのクラスとしてch.qos.logback.core.RollingFileAppenderを指定する必要があります。 FileAppenderはロールバックできません。

+1

この<アペンダ名=「ファイルアペンダ」クラスを置き換えます= "ch.qos.logback.core.FileAppender">これにより pringi

+0

上記の変更を試みた後でも 'logfile.log'動かない。他にも変更が必要なことはありますか? – abhi314

+0

エラーが生じますか?ログレベルが適切でない可能性がありますか? –

1


は、私はあなたがローリングファイルインデックス(すなわち、 'mylog.2017-03-13。の.txt'、「mylog.2017置き換えてください%Iパラメータを、逃していると信じて-03-13。などの.txt」、)

また、ウーヴェAllnerのように、私はRollingFileAppender代わりにFileAppenderを使用しています。
はここに私の全体のアペンダの設定です

を(私も合計サイズを制御するために、構成にtotalSizeCapを追加することをお勧め):

<appender name="SQL_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <file>${LOG_HOME}/mylog.txt</file> 
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 
     <Pattern> 
      %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level- %msg%n 
     </Pattern> 
    </encoder> 

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
     <maxHistory>3</maxHistory> 
     <totalSizeCap>5GB</totalSizeCap> 
     <fileNamePattern>${LOG_HOME}/archived/mylog.%d{yyyy-MM-dd}.%i.txt.zip</fileNamePattern> 
     <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
      <maxFileSize>20MB</maxFileSize> 
     </timeBasedFileNamingAndTriggeringPolicy> 
    </rollingPolicy> 
</appender>