Apakah mungkin dengan salah satu append log4j untuk menulis log dengan waktu rotasi dan batas retensi tertentu.
Tujuannya adalah:
- untuk memiliki file log untuk setiap hari; buat file baru di tengah malam untuk log baru
- untuk menyimpan file log dan menghapusnya secara otomatis setelah waktu tertentu; jadi hapus file log yang lebih lama dari X hari (mis. 30 hari)
Tampaknya rotasi dimungkinkan tetapi batas waktu retensi tidak dimungkinkan dengan log4j
Versi log4j adalah 1.2.
ya kita bisa!
mengajukan:
project->src->main->resources->logback.xml
untuk info lebih lanjut lihat dokumentasi: TimeBasedRollingPolicy
JavaDoc : TimeBasedRollingPolicy
sumber
Sebagian besar jawaban didasarkan pada logback. Tetapi pertanyaannya adalah tentang log4j 1.2 (lama ...)
jawaban yang menyebutkan DailyRollingFileAppender tidak akan berfungsi baik.
org.apache.log4j.DailyRollingFileAppender
tidak mendukungMaxBackupIndex
properti, lihat http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/DailyRollingFileAppender.html (ini untukRollingFileAppender
)Anda mungkin tertarik pada: Gunakan MaxBackupIndex di DailyRollingFileAppender -log4j
dan untuk kemungkinan jawaban: Log4j Rollingpolicy dan MaxbackupIndex
Tetapi Anda mungkin harus menggunakan slf4j log4j "emulation" ( http://www.slf4j.org/legacy.html#log4j-over-slf4j ) dan rutekan log Anda melalui logback (tanpa perubahan kode) di mana jauh lebih mudah untuk mengimplementasikan .
sumber