Domanda

Stiamo usando l'installazione di Windows di Tomcat 6. Per impostazione predefinita, l'output log4j per la nostra applicazione va al file /logs/stdout_.log $ {} catalina.base. Questo file di registro rotola solo su quando noi riavviare Tomcat, e il nome del file include sempre la data.

Io preferirei che si comporti come un DailyRollingFileAppender, dove si rinomina il file quando si passa sopra ... In questo modo posso solo aprire il Blocco note ++ e vedere i log di oggi, dal momento che Notepad ++ ricorderà che ho aperto lo stesso file ieri. :)

So che posso solo creare un altro appender in log4j, ma vorrei finire con la stdout.log e un altro file di log, e ho paura che ci sarebbe stato un calo di prestazioni minori per l'accesso a entrambi i file. Ho provato ad aggiungere swallowOutput = true alla mia context.xml ma ho ancora ottenere tutti login stdout.log. Tutte le idee?

È stato utile?

Soluzione

Hai provato la procedura descritta in registrazione in Tomcat ? Se si seguono i passi che ritroverete con log4j.properties nella directory lib che è possibile personalizzare a vostro piacimento.

Altri suggerimenti

Il più grande calo di prestazioni è quando la preparazione di oggetti che si desidera effettuare il login (si sa, quando non logger.info(" operating on " + myObject.toString + " bla bla bla" ) poi facendo myObject.toString() è il costo maggiore). Se già li avete di loggin al file non è un problema. E log4j è davvero ben bilanciata e ottimizzata, utilizza i buffer di scrivere i registri, in modo da non effettuare chiamate troppo frequenti per file system.

Basta creare un'altra appender, si avrà una differenziazione dai registri Tomcat ed i registri delle appilcation. Quanti log avete? Un 1 GB al giorno o più che si ha paura di perdita di prestazioni? Non date per scontato nulla prima di testarlo. Basta set-up, e fare una sorta di test delle prestazioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top