Considera il seguente scenario:
Sto scrivendo un servlet Dispatcher che delega l'elaborazione a vari gestori in base all'URL della richiesta; gli oggetti del gestore si sono precedentemente registrati per i pattern URL, proprio come Servlet si registrano in web.xml.
Quando un gestore registra o annulla la registrazione di un pattern, voglio registrare una riga che include l'azione e il pattern; e anche i mapping correnti, in modo che quando un'elaborazione di richiesta successiva registra un avviso che una richiesta non è stata elaborata, posso tornare nei log e trovare i mapping.
La domanda è come assicurarsi che le righe registrate da registerUrlPattern
/ unregisterUrlPattern
appaiano effettivamente nel file di registro:
-
Mi sembra che questi metodi debbano registrare le modifiche di mappatura al livello INFO, dal momento che vengono registrati ulteriori INFO. Ma il livello del logger è WARN, quindi non funzionerà. Il logger riceve molti altri messaggi al livello INFO, quindi non è possibile cambiarne il livello in INFO in produzione, tranne che per la risoluzione dei problemi.
-
Potrei registrarlo a livello WARN, ma qa / usability / customer non apprezza che tali avvisi appaiano.
Posso pensare alle seguenti alternative:
-
Modifica il livello del logger su INFO quando accedi a queste linee, eventualmente aggiungendo un metodo
forceInfo
nel mio Logger (che include un logger di tipo log4j standard) -
Utilizza un Logger diverso per questi metodi e imposta il suo livello su INFO
-
Accedi al livello di avviso ma cambia la lingua per indicare che non è qualcosa di cui preoccuparsi