Tôi muốn tạo tệp nhật ký có thể được cuộn vào đầu ngày hôm sau hoặc nếu tệp đạt đến kích thước tệp được chỉ định và tệp nhật ký phải được chứa trong thư mục ngày. Định dạng của thư mục là YYYYMMDD
(/20111103/mylogfile.log
)Làm cách nào để kiểm soát tệp nhật ký với kích thước tệp hàng ngày và kích thước tệp tối đa bằng log4j?
Có thể thực hiện điều này bằng Log4j mà không cần triển khai lớp tùy chỉnh không?
Bây giờ tôi đang sử dụng log4j và log4j-extra, Tôi đặt thuộc tính FileNamePattern như được định nghĩa trong API log4j để cuộn tệp hàng ngày và đặt kích thước tệp tối đa là 50 MB.
My log4j.xml
là:
<appender name="MYAPPENDER" class="org.apache.log4j.rolling.RollingFileAppender">
<param name="encoding" value="UTF-8" />
<param name="append" value="true" />
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="FileNamePattern" value="${catalina.home}/logs/MY-APP/%d{yyyyMMdd}/MY-APP_%d{yyyyMMddHHmmss}.log" />
</rollingPolicy>
<triggeringPolicy class="org.apache.log4j.rolling.SizeBasedTriggeringPolicy">
<param name="maxFileSize" value="50000000" />
</triggeringPolicy>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{dd/MM/yyyy HH\:mm\:ss}] %-5p [%c.%M(),%4L] - %m%n" />
</layout>
</appender>
Kết quả cài đặt ở trên là log file không được cuộn vào đầu ngày tới nhưng nếu kích thước tập tin đã đạt tới 50 MB, log file sẽ được triển khai.
Vui lòng trợ giúp tư vấn cho tôi. m (_ _) m