¿Qué sistema de registro utilizo?

¿Cómo determinar qué sistema de registro utiliza el proyecto dado?

Tiene signos de log4j, slf4jy logback. Parece que el archivo de configuración activo es log4j.properties. Los registradores se crean en clases por

private static Logger log = LoggerFactory.getLogger(MyClass.class);

el tipo completo de registrador es org.slf4j.Loggery el tipo de fábrica es org.slf4j.LoggerFactory.

Pero también hay frascos logback-core-0.9.26.jary logback-classic-0.9.26.jar.

Otros frascos son slf4j-log4j12-1.6.1.jar, slf4j-api-1.6.1.jar, log4j-1.2.16.jary commons-logging-1.1.1.jar.

¿Qué define que logbackaparentemente está inactivo? ¿Cómo activarlo?

Respuesta 1

sl4j es una fachada, no hay implementación real. En otras palabras, sl4j no puede funcionar solo, el marco de registro subyacente puede ser log4j, logback, java util logging, etc.

slf4j-log4j12-1.6.1.jar la dependencia implica que la implementación de registro subyacente es log4j.

La ventaja de este enfoque es que más adelante puede cambiar su implementación de registro de Log4j a logback (que muchos afirman que es mejor) o cualquier otro marco de registro. Sus clases no están estrechamente vinculadas al marco de registro.

Respuesta: 2

Teniendo en cuenta los frascos que mencionó, supongo que el sistema de registro es log4j, al que se accede a través de slf4j o el registro de commons (tal vez para satisfacer las dependencias de otros marcos).

La clave aquí es slf4j-log4j12-1.6.1.jar que introduce slf4j a través de log4j.

Respuesta: 3

Si el código del proyecto usa slf4j, entonces preguntar qué sistema de registro usa es hacer una pregunta incorrecta, de alguna manera. Utilizará cualquier marco de registro que slf4j encuentre en tiempo de ejecución . Si no está seguro, active la información de depuración en todas las bibliotecas relevantes:

  • Para log4j, agregue -Dlog4j.debuga la línea de comando java.
  • Para slf4j, recuerdo agregar código de depuración e imprimir allí el nombre de clase de la instancia de ILoggerFactory (devuelta por LoggerFactory.getILoggerFactory () ), que revela qué registrador real usará.
  • No estoy seguro de cómo depurar el inicio de sesión o el registro de commons, pero estoy seguro de que sus documentos lo dicen.
Respuesta: 4

Considere el siguiente código Java void doSomething (Runnable r1, Runnable r2) {Executor executeor = Executors.newSingleThreadExecutor (); executeor.execute (r1); ejecutor.execute (r2); } cuando yo ...

¿Qué es un método en Java que dibuja un rectángulo dado lo siguiente: Las coordenadas del centro del cuadrado El ángulo del rectángulo desde la vertical, en grados

Quiero exportar un archivo jar usando maven que puede tener la fuente incluida. Intenté usar 'maven-source-plugin', pero crea un archivo jar separado con fuente. ¿Hay alguna manera de que pueda ...

Tengo una lista de matriz a través de la cual itero. En cada iteración, llamo a get () para obtener un elemento, y si ese elemento pasa alguna condición, se agrega a una nueva lista de matriz usando add () List <Item> ...