Tôi cấu hình log4net sử dụng một RollingFileAppender hợp để các tập tin hiện luôn tên logfile.log và tất cả các file sau này được đặt tên logfile-YYYY.MM.dd.seq.log nơi seq là chuỗi nếu một nhật ký vượt quá một kích thước nhất định trong một ngày. Thật không may, tôi đã có rất ít thành công trong việc cấu hình một thiết lập như vậy.Làm cách nào để định cấu hình một RollingFileAppender để cuộn theo ngày và kích thước bằng log4net?
Edit:
cấu hình hiện tại của tôi được dán bên dưới. Nó đã được cập nhật dựa trên một số câu trả lời mà tôi đủ gần cho nhu cầu của tôi. Điều này tạo ra các file định dạng: logfile_YYYY.MM.dd.log.seq
<log4net>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender" />
</root>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logs\\logfile"/>
<staticLogFileName value="false"/>
<appendToFile value="true"/>
<rollingStyle value="Composite"/>
<datePattern value="_yyyy.MM.dd".log""/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="75KB"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="FATAL" />
</filter>
</appender>
</log4net>
Một lưu ý thú vị, thiết
<staticLogFileName value="false"/>
true khiến logger để không viết bất kỳ tập tin.
Theo tài liệu log4j: DailyRollingFileAppender đã được quan sát để hiển thị các vấn đề đồng bộ hóa và mất dữ liệu. Bạn đồng hành bổ sung log4j bao gồm các lựa chọn thay thế cần được xem xét cho các triển khai mới và được thảo luận trong tài liệu hướng dẫn cho org.apache.log4j.rolling.RollingFileAppender. –