Ho un'applicazione esistente che esegue tutte le registrazioni su log4j. Usiamo una serie di altre librerie che usano anche log4j, o log contro Commons Logging, che finisce per usare log4j sotto le coperte nel nostro ambiente. Una delle nostre dipendenze registra anche contro slf4j, che funziona anche bene poiché alla fine delega anche a log4j.
Ora, vorrei aggiungere ehcache a questa applicazione per alcune esigenze di memorizzazione nella cache. Le versioni precedenti di ehcache utilizzavano il registro dei comuni, che avrebbe funzionato perfettamente in questo scenario, ma a partire dalla versione 1.6-beta1 hanno rimosso la dipendenza dal registro dei comuni e lo hanno sostituito con java.util.logging.
Non avendo molta familiarità con la registrazione JDK integrata disponibile con java.util.logging, c'è un modo semplice per avere tutti i messaggi di log inviati a JUL registrati su log4j, così posso usare la mia configurazione esistente e impostare per qualsiasi registrazione in arrivo da ehcache?
Guardando i javadoc per JUL, sembra che potrei impostare un gruppo di variabili di ambiente per cambiare l' LogManager
implementazione utilizzata, e forse usarlo per racchiudere log4j Logger
nella Logger
classe JUL . È questo l'approccio corretto?
È abbastanza ironico che l'uso da parte di una libreria della registrazione JDK incorporata causi un tale mal di testa quando (la maggior parte del) resto del mondo utilizza invece librerie di terze parti.