es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo configurar log4j2 desde un objeto Properties?

¿Se puede inicializar log4j2 a partir de un objeto Properties (sin archivo de propiedades)? Esto era compatible con la antigua versión log4j 1.2.x (ver código a continuación), pero no encontré cómo implementarlo con la nueva versión log4j2.

Properties props = new Properties();
// ...establecer algunas propiedades
PropertyConfigurator.configure(props);
Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, log4j2 puede inicializarse a partir de un objeto Properties en lugar de un archivo de propiedades. El código equivalente en log4j2 sería:

    ConfigurationSource source = new ConfigurationSource(new ByteArrayInputStream(props.toString().getBytes()));
    Configurator.initialize(null, source);
    

    Este código crea un objeto ConfigurationSource a partir del objeto Properties, lo convierte en un arreglo de bytes e inicializa Log4j con él. El segundo parámetro en el método initialize es opcional y puede utilizarse para especificar un cargador de clases si es necesario.

Comments are closed.