Primera vez usando log4j. No configuré un archivo log4j.properties, ya que los registros se escriben en diferentes carpetas con cada reinicio. Soy consciente de que podría cambiar el archivo de propiedades en tiempo de ejecución, tal vez lo implemente más tarde.

Entonces toda mi configuración es esta ahora:

private static Logger createLogger(){
    Logger logger = Logger.getLogger(Main.class);
    PatternLayout layout = new PatternLayout("%d{HH:mm:ss.SSS} [%t] %msg%n");
    logger.addAppender(new ConsoleAppender(layout));
    FileAppender logFileAppender = null;
    try {
        logFileAppender = new FileAppender(layout, getLogFile(), true);
    } catch (IOException e) {
        e.printStackTrace();
        System.exit(2);
    }
    logger.addAppender(logFileAppender);
    return logger;
}

Lo que me da esas líneas con "sg" al final:

10:04:21.854 [main] System: Activated Botsg

¿Cómo puedo evitar "sg"?

OpenJDK 11, Intellij 19.3, Windows 10 1903 Último log4j de repositorios mvn

2
pikkuez 30 dic. 2019 a las 12:12

2 respuestas

La mejor respuesta

Eliminar sg

PatternLayout layout = new PatternLayout("%d{HH:mm:ss.SSS} [%t] %msg%n");

Para

PatternLayout layout = new PatternLayout("%d{HH:mm:ss.SSS} [%t] %m%n");
4
Nick 30 dic. 2019 a las 09:14

No hay ningún Carácter de conversión definido como msg en Diseño de patrón de Apache

El patrón correcto debería ser:

PatternLayout layout = new PatternLayout("%d{HH:mm:ss.SSS} [%t] %m%n");

m se decodifica como: Se utiliza para enviar el mensaje proporcionado por la aplicación asociado con el evento de registro.

n se decodifica como: Este carácter de conversión ofrece prácticamente el mismo rendimiento que el uso de cadenas de separación de línea no portátiles como "\ n" o "\ r \ n". Por lo tanto, es la forma preferida de especificar una línea separador.

El sg adicional viene debido a su carácter incorrecto msg . El registrador puede decodificar m pero falla la parte sg de msg y, por lo tanto, obtendrá sg agregado en cada registro

1
Vishwa Ratna 30 dic. 2019 a las 09:20