<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Log4j2 `RollingFileAppender`示例 > 原文: [https://howtodoinjava.com/log4j2/log4j2-rollingfileappender-example/](https://howtodoinjava.com/log4j2/log4j2-rollingfileappender-example/) [Log4j2](https://howtodoinjava.com/log4j2/) `RollingFileAppender`是`OutputStreamAppender`,它按照有關何時應進行滾動(備份)的已配置觸發策略,將日志消息寫入文件。 它還具有有關如何轉換文件的已配置轉換策略。 通常,日志文件的備份是根據文件大小和/或當前日期創建的。 ## 1\. Log4j2 Maven 依賴項 ```java <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.11.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.11.1</version> </dependency> ``` 在 [maven 倉庫](https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core)中檢查最新版本。 ## 2\. Log4j2 `RollingFileAppender`示例 – 基于日志文件大小的滾動 此給定的配置根據日志文件大小滾動日志文件。 我已將日志文件大小配置為 10 MB。 根據您的要求進行更改。 #### 2.1\. `log4j2.properties` 我們可以按照給定的方式在`log4j.properties`中配置滾動文件附加器。 ```java name = PropertiesConfig appender.rolling.type = RollingFile appender.rolling.name = RollingFile appender.rolling.fileName = ${LOG_DIR}/application.log appender.rolling.filePattern = ${LOG_DIR}/application.%d{dd-MMM}.log.gz appender.rolling.layout.type = PatternLayout appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %m%n appender.rolling.policies.type = Policies appender.rolling.policies.size.type = SizeBasedTriggeringPolicy appender.rolling.policies.size.size=10MB appender.rolling.strategy.type = DefaultRolloverStrategy appender.rolling.strategy.max = 5 logger.rolling.name = rollingFile logger.rolling.level = debug logger.rolling.additivity = false logger.rolling.appenderRef.rolling.ref = RollingFile ``` #### 2.2 `log4j2.xml` ```java <RollingFile name="rollingFile" fileName="${LOG_DIR}/application.log" filePattern="${LOG_DIR}/application.%i.log.gz" ignoreExceptions="false"> <PatternLayout> <Pattern>%d{yyyy-MM-dd HH:mm:ss} %-5p %m%n</Pattern> </PatternLayout> <Policies> <SizeBasedTriggeringPolicy size="10MB" /> </Policies> <DefaultRolloverStrategy max="5" /> </RollingFile> ``` ## 3\. `RollingFileAppender` – 基于日期時間的滾動 我們也可以根據日期時間滾動日志文件。 #### 3.1 `RollingFileAppender`示例 如果使用`RollingFileAppender`,則使用`TimeBasedRollingPolicy`來指定何時基于日期時間滾動日志文件。 注意`FileNamePattern`屬性。 它定義了滾動文件的名稱模式。 在給定的示例中,它將在日志文件名中使用`date-month`重命名滾動日志文件。 例如,模式`'{MM-dd-yyyy-HH}'`將每小時滾動日志文件。 我們還使用`.gz`擴展名,因此 log4j 將**自動壓縮日志文件**。 ```java <RollingFile name="rollingFile" fileName="${LOG_DIR}/application.log" filePattern="${LOG_DIR}/application.%d{dd-MMM}.log.gz" ignoreExceptions="false"> <PatternLayout> <Pattern>%d{yyyy-MM-dd HH:mm:ss} %-5p %m%n</Pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy filePattern="${LOG_DIR}/application.%d{dd-MMM-hh}.log.gz" /> </Policies> <DefaultRolloverStrategy max="5" /> </RollingFile> ``` #### 3.2 每日滾動日志示例 為了啟用每日滾動,log4j2 沒有`DailyRollingFileAppender`,這是較早的 log4j 中存在的。 要每天滾動日志,請在`TimeBasedTriggeringPolicy`中將時間間隔設置為 1。 ```java <RollingFile name="rollingFile" fileName="${LOG_DIR}/application.log" ignoreExceptions="false"> <PatternLayout> <Pattern>%d{yyyy-MM-dd HH:mm:ss} %-5p %m%n</Pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1"/> </Policies> <DefaultRolloverStrategy max="5" /> </RollingFile> ``` ## 4\. `RollingFileAppender` – 基于日志大小和日期時間的滾動 如果要同時基于文件大小和日期時間來滾動日志文件,則需要同時使用`SizeBasedTriggeringPolicy`和`TimeBasedRollingPolicy`。 在給定的示例中,附加器可以使用包含`{dd-MMM}`的`filePattern`屬性引用文件名模式和基于時間的滾動策略。 基于大小的滾動將發生在 10 MB。 ```java <RollingFile name="rollingFile" fileName="${LOG_DIR}/application.log" filePattern="${LOG_DIR}/application.%d{dd-MMM}.log.gz" ignoreExceptions="false"> <PatternLayout> <Pattern>%d{yyyy-MM-dd HH:mm:ss} %-5p %m%n</Pattern> </PatternLayout> <Policies> <OnStartupTriggeringPolicy /> <SizeBasedTriggeringPolicy size="10 MB" /> <TimeBasedTriggeringPolicy /> </Policies> <DefaultRolloverStrategy max="5" /> </RollingFile> ``` 學習愉快! 參考文獻: [`RollingFileAppender` Java 文檔](https://logging.apache.org/log4j/2.x/manual/appenders.html#RollingFileAppender)
                  <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>

                              哎呀哎呀视频在线观看