Bối cảnh:log4j fileappender không chuyển sang các tập tin mới khi logrotate xoay log file
Tôi muốn sử dụng log4j để viết nhật ký kiểm toán có liên quan đến một tập tin đăng nhập cụ thể, chúng ta hãy nói audit.log. Tôi không muốn sử dụng syslogappender (udp dựa) vì tôi không muốn chịu đựng mất dữ liệu. Ngoài ra, tôi đang sử dụng logrotate để xoay audit.log khi tệp được kích thước nhất định.
Vấn đề:
Tôi đang gặp phải là, khi logrotate xoay file audit.log để audit.log.1, log4j tục bằng văn bản cho audit.log.1 khác ngoài văn bản cho audit.log .
cách tiếp cận có thể xảy ra:
Tôi biết tôi có thể sử dụng RollingFileAppender để làm xoay log khác hơn là sử dụng logrotate, vì vậy khi RollingFileAppender cuộn các tập tin, nó chuyển sang tập tin mới mà không phức tạp. Nhưng lý do tôi không thể sử dụng rollingfileappender là tôi muốn sử dụng tính năng xoay bài đăng của logrotate để kích hoạt một số tập lệnh sau khi quá trình quay xảy ra mà không thể được cung cấp bởi rollingfileappender.
Một cách tuyệt vọng khác mà tôi có thể nghĩ là viết một appender tùy biến log4j để đóng tệp nhật ký (audit.log.1) và mở tệp nhật ký (audit.log) khi phát hiện tệp được xoay.
Tôi chưa bao giờ sử dụng ExternallyRolledFileAppender, nhưng nếu có thể sử dụng logrotate post rotate để gửi tín hiệu tới ExternallyRolledFileAppender và làm cho log4j biết tệp được xoay và bắt đầu ghi vào tệp mới?
Câu hỏi:
Chỉ cần tự hỏi là có một số appender như thế đã được phát minh/văn bản? hoặc tôi có các tùy chọn khác để giải quyết vấn đề này không?
Perfect cách hỏi một câu hỏi 1 – Deepak