He usado SLF4j como mi marco de trabajo de registro, respaldado por log4j. Mi problema es que estoy buscando una forma de cambiar el nivel de registro para mi registrador en tiempo de ejecución.¿Cómo cambiar el nivel de slf4j en el tiempo de ejecución?
Entiendo que slf4j no permite esto directamente a través de su propia API, y por lo tanto, tengo que acceder directamente al proveedor de registro. Personalmente, creo que esto es una gran deficiencia en slf4j. Entonces, ahora mi pregunta es ¿cómo puedo determinar programáticamente a través de slf4j qué proveedor estoy usando? El mayor propósito de usar slf4j es que te vuelves independiente del proveedor; puedes cambiar fácilmente de tu sistema de registro favorito sin tener que volver a codificar nada. Pero ahora, si tengo que hacer llamadas directas a log4j, estoy perdiendo esa habilidad.
Por lo menos, me gustaría poder determinar si estoy usando log4j como proveedor y, de ser así, permitir que el usuario cambie los niveles de registro.
Si hago LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME)
, el resultado es una instancia de org.slf4j.impl.Log4jLoggerAdapter
y ni siquiera org.apache.log4j.Logger
(como hubiera esperado/esperado).
¿Hay alguna manera de descubrir esto?
Gracias, Eric
Ver: [¿Cómo encontrar a qué biblioteca se ha unido slf4j?] (Http://stackoverflow.com/questions/10505418) –
Gracias. No estoy seguro de por qué me perdí eso en mi búsqueda original. –