Avatar
0
Chan Beginner
Chan Beginner
maxhistory logback not working
Em chào anh và mọi người

Em có làm file logback và em có thêm phần "< maxHistory > 30 < / maxHistory >" để lưu log trong 30 ngày nhưng nó lại không hoạt đông. Em có tham khảo nhiều tài liệu trên mạng nhưng không được. Anh và mọi người ở đây đã ai làm về phần này có thể tư vấn cho em được không ạ

Em xin cảm ơn

  • Answer
Remain: 5
5 Answers
Avatar
Chan Beginner
Chan Beginner
em thêm phần <maxHistory>30</maxHistory>
  • 0
  • Reply
Avatar
tvd12 Beginner
tvd12 Beginner
Gửi anh toàn bộ nội dung logback được không em, như này anh không đủ thông tin em ạ, sử dụng thẻ markdown để paste code nhé.
  • 0
  • Reply
Avatar
Chan Beginner
Chan Beginner

Cấu hình XML

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <property name="LOGS" value="./logs"/>
    <property name="SERVICE" value="logging-tv360"/>

    <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>
                %black(%d{ISO8601}) %highlight(%-5level) [%blue(%t)] %yellow(%C{1.}): %msg%n%throwable
            </Pattern>
        </layout>
    </appender>

    <appender name="RollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOGS}/${SERVICE}.log</file>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern>%d %p %C{1.} [%t] %m%n</Pattern>
        </encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${LOGS}/%d{yyyy-MM}/${SERVICE}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <maxFileSize>100MB</maxFileSize>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
    </appender>

    <root level="info">
        <appender-ref ref="RollingFile"/>
        <appender-ref ref="Console"/>
    </root>

    <logger name="com.baeldung" level="trace" additivity="false">
        <appender-ref ref="RollingFile"/>
        <appender-ref ref="Console"/>
    </logger>
</configuration>
  • 0
  • Reply
Em có thể sử dụng markdown theo hướng dẫn này: https://ezyplatform.com/market/items/markdown/docs/syntax để paste code không em?  –  tvd12 1699977731000
Avatar
Chan Beginner
Chan Beginner

Cấu hình XML

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <property name="LOGS" value="./logs"/>
    <property name="SERVICE" value="logging-tv360"/>

    <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>
                %black(%d{ISO8601}) %highlight(%-5level) [%blue(%t)] %yellow(%C{1.}): %msg%n%throwable
            </Pattern>
        </layout>
    </appender>

    <appender name="RollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOGS}/${SERVICE}.log</file>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern>%d %p %C{1.} [%t] %m%n</Pattern>
        </encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${LOGS}/%d{yyyy-MM}/${SERVICE}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <maxFileSize>100MB</maxFileSize>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
    </appender>

    <root level="info">
        <appender-ref ref="RollingFile"/>
        <appender-ref ref="Console"/>
    </root>

    <logger name="com.baeldung" level="trace" additivity="false">
        <appender-ref ref="RollingFile"/>
        <appender-ref ref="Console"/>
    </logger>
</configuration>

Em gửi lại nhé anh
  • 0
  • Reply
Avatar
tvd12 Beginner
tvd12 Beginner
maxHistory là số lượng file chứ không phải số lượng ngày, nên nếu muốn chỉ giữ lại 30 ngày em sẽ cần sửa lại rollingPolicy như sau:
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  <fileNamePattern>logs/socket-server.log.%d{yyyy-MM-dd}</fileNamePattern>
</rollingPolicy>
  • 0
  • Reply
Anh ơi, em hỏi thêm 1 chút ạ

Em đã sửa đổi phần trên và nó xóa được log trên file log đó rồi ạ nhưng nó lại tạo ra 1 file khác để chứa các log cũ đó.

Như em đang thực hiện thì em tăng thời gian lên tháng 12 thì log tháng 11 đã đưọc xóa và nó tạo ra file log 11-2023.

Làm sao để xóa hết được vậy ạ

 –  Chan 1700010822000
Có vẻ như không xóa được kiểu vậy, để anh tìm hiểu thêm xem sao  –  tvd12 1700016032000