Cómo registrar advertencias repetidas solo una vez
Hay un patrón que ocurre de vez en cuando. Tengo un método llamado muchas veces, y contiene este fragmento:
Foo foo = getConfiguredFoo();
if (foo == null) {
logger.warn("Foo not configured");
foo = getDefaultFoo();
}
Entonces mi archivo de registro está abarrotado con esta advertencia cientos de veces. Sé que puedogrep
, pero me pregunto si hay una mejor manera de ver esta advertencia solo una vez.
Nota: la duplicación de mensajes es un comportamiento correcto por defecto, por lo que no se trata de evitar mensajes duplicados involuntarios de registro. Etiqueté mi pregunta como log4j, pero estoy abierto a otros marcos de registro de Java.