<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Log4j`RollingFileAppender`配置示例 > 原文: [https://howtodoinjava.com/log4j/log4j-rolling-file-appender/](https://howtodoinjava.com/log4j/log4j-rolling-file-appender/) [Log4j](https://howtodoinjava.com/log4j/) `RollingFileAppender`是`OutputStreamAppender`,它按照有關何時發生滾動(備份)的已配置觸發策略,將日志消息寫入文件。 它還具有有關如何轉換文件的已配置轉換策略。 通常,日志文件的備份是根據文件大小和/或當前日期創建的。 ## 1\. Log4j Maven 依賴項 ```java <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> ``` ## 2\. `RollingFileAppender`示例 – 基于日志文件大小的滾動 此給定的配置根據日志文件大小滾動日志文件。 我已將日志文件大小配置為 10 MB。 根據您的要求進行更改。 #### 2.1\. `log4j.properties` 我們可以按照給定的方式在`log4j.properties`中配置滾動文件附加器。 ```java log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender log4j.appender.rollingFile.File=${LOG_DIR}/application.log log4j.appender.rollingFile.layout=org.apache.log4j.PatternLayout log4j.appender.rollingFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %m%n log4j.appender.rollingFile.MaxFileSize=10MB log4j.appender.rollingFile.MaxBackupIndex=5 log4j.appender.rollingFile.append=true log4j.rootCategory=ALL, rollingFile ``` #### 2.2 `log4j.xml` ```java <appender name="rollingFile" class="org.apache.log4j.RollingFileAppender"> <param name="file" value="${LOG_DIR}/application.log" /> <param name="MaxFileSize" value="10MB" /> <param name="MaxBackupIndex" value="5" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %m%n" /> </layout> </appender> ``` ## 3\. `RollingFileAppender` – 基于日期時間的滾動 我們也可以根據日期時間滾動日志文件。 #### 3.1 `RollingFileAppender`示例 如果使用`RollingFileAppender`,則使用`TimeBasedRollingPolicy`來指定何時基于日期時間滾動日志文件。 注意`FileNamePattern`屬性。 它定義了滾動文件的名稱模式。 在給定的示例中,它將在日志文件名中使用`date-month`重命名滾動日志文件。 例如,模式`'{dd-MMM}'`將在一個月的每天中滾動日志文件。 同樣,`'{MM-dd-yyyy-HH}'`將每小時滾動一次。 我們還使用`.gz`擴展名,因此 log4j 將**自動壓縮日志文件**。 ```java <appender name="rollingFile" class="org.apache.log4j.rolling.RollingFileAppender"> <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy"> <param name="FileNamePattern" value="${LOG_DIR}/application.%d{dd-MMM}.log.gz" /> </rollingPolicy> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p - %m%n" /> </layout> </appender> ``` #### 3.2 `DailyRollingFileAppender`示例 為了啟用每日滾動,log4j 提供了`DailyRollingFileAppender`,它擴展了`FileAppender`。 如果要每天滾動日志文件,請直接使用它。 ```java <appender name="rollingFile" class="org.apache.log4j.rolling.DailyRollingFileAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p - %m%n" /> </layout> </appender> ``` ## 4\. `RollingFileAppender` – 基于日志大小和日期時間的滾動 如果要同時基于文件大小和日期時間來滾動日志文件,則需要同時使用`SizeBasedTriggeringPolicy`和`TimeBasedRollingPolicy`。 ```java <appender name="rollingFile" class="org.apache.log4j.rolling.RollingFileAppender"> <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy"> <param name="ActiveFileName" value="${LOG_DIR}/application.log" /> <param name="FileNamePattern" value="${LOG_DIR}/application.%d{dd-MMM}.log.gz" /> </rollingPolicy> <triggeringPolicy class="org.apache.log4j.rolling.SizeBasedTriggeringPolicy"> <param name="MaxFileSize" value="10MB" /> </triggeringPolicy> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p - %m%n" /> </layout> </appender> ``` 參考文獻: [Log4j `RollingFileAppender` Java 文檔](https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/RollingFileAppender.html)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看