почему мои сообщения log4j не появляются в файле журнала? - PullRequest
0 голосов
/ 05 марта 2019

Я создал log4j.properties файл и поместил его в /src/main/resources/, содержимое этого файла:

log4j.rootLogger = DEBUG, FILE
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=log.out
# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true

# Set the threshold to debug mode
log4j.appender.FILE.Threshold=debug

# Set the append to false, overwrite
log4j.appender.FILE.Append=false

# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n

Я хотел бы видеть журналы в файле log.out, но когдаЯ запускаю приложение с командой:

java -jar myapp.jar -Dlog4j.debug

файл не создан.

Это - как и было запрошено в комментариях - как я использую его в коде:

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

private static final Logger LOG = LogManager.getLogger(MyClass.class);

и позже:

LOG.debug("some message");

LOG.error("some other msg", error);

1 Ответ

0 голосов
/ 05 марта 2019

Ниже приведена реализация:

log4j.properties

в `

src / main / resources

`

# Root logger option
log4j.rootLogger=INFO, stdout, file

# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Redirect log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
#outputs to Tomcat home
log4j.appender.file.File=D:/demo/logs/myapp/myapp.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

Наряду с этим у меня также есть Logger, импортированный в class.

package org.nbk.demo;
import org.apache.log4j.Logger;
public class ServerStartup {
    private static final Logger logger = Logger.getLogger(ServerStartup.class);
    public void onApplicationEvent() {
            logger.info("Information Messages");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...