È possibile eseguire un rotolamento di registri di raccolta dati obsoleti in Sun JVM?I registri di Garbage Collection rotolano in java
Attualmente mi generare registri utilizzando:
-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -verbose:gc -Xloggc:gc.log
Ma devo ruotare manualmente utilizzando code FIFO e rotatelogs per creare un nuovo registro per ogni giorno. Spero che ci sia una soluzione migliore per questo.
Forse c'è un modo per accedere a queste voci di registro dall'interno di java in modo da poterle reindirizzare a log4j?
Edit: la soluzione con coda FIFO non è abbastanza buono, perché se il processo che legge da questa coda (ad esempio rotatelogs) legge a rallentare sarà rallentare l'intero JVM (apparentemente Sun/Oracle fa logging gc sincrono)
La soluzione mi sembra abbastanza buona; cosa non ti piace a riguardo? Hai una colocation: la rotazione avviene vicino alla tua chiamata Java (che configura la registrazione) invece che nel codice dell'applicazione (che dovrebbe essere ignaro della registrazione). –
Anche il mio intestino direbbe di no, non è possibile o se è possibile sarebbe attraverso un'API privata e limitata che probabilmente non vuoi forzare nella tua applicazione. –
-XX: + PrintGCDateStamps non viene applicato a java5? –