PropertyConfigurator для Log4j больше не существует? - PullRequest
0 голосов
/ 09 мая 2018

Я получаю это только на консоли:

13: 08: 18.379 [main] ОШИБКА log4.prueba - это ошибка

13: 08: 18.381 [main] FATAL log4.prueba - это Fatal

Я не получаю файл или все остальные уровни. Что я делаю не так? Мой каталог выглядит так:

projectFolder / SRC / log4 / prueba.java

projectFolder / SRC / log4j.properties

код:

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

public class prueba {

     private static Logger logger = LogManager.getLogger(prueba.class);
     public static void main( String[] args )
     {
          logger.debug("This is Debug");
          logger.info("This is Info");
          logger.warn("This is Warn");
          logger.error("This is Error");
          logger.fatal("This is Fatal");
     }

 }

И файл свойств выглядит так:

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

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\logging.log
log4j.appender.file.MaxFileSize=10MB
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

# Direct log messages to stdout
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

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

определить файл свойств log4j

@ prueba.java

import org.apache.log4j.Logger;

public class prueba {

    private static Logger LOGGER = Logger.getLogger(prueba.class);

    public static void main(String[] args) {
        LOGGER.debug("This is Debug");
        ...
    }
}

@ pom.xml

    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>RELEASE</version>
        <scope>compile</scope>
    </dependency>

в src/resources/log4j.properties

# Root logger option
log4j.rootLogger=DEBUG, file, stdout
# Direct log messages to stdout
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
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=log/log4j-application.log
log4j.appender.file.MaxFileSize=10MB
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

вывод в stdout и log/log4j-application.log файл

2018-05-11 14:29:43 DEBUG prueba:8 - This is Debug
2018-05-11 14:29:43 INFO  prueba:9 - This is Info
2018-05-11 14:29:43 WARN  prueba:10 - This is Warn
2018-05-11 14:29:43 ERROR prueba:11 - This is Error
2018-05-11 14:29:43 FATAL prueba:12 - This is Fatal
0 голосов
/ 11 мая 2018

Log4j 2 также поддерживает настройку в файлах свойств, но учтите:

  • файл должен называться log4j2.properties
  • синтаксис конфигурации отличается от синтаксиса Log4j 1.2 (в рассматриваемой конфигурации используется старый синтаксис Log4j 1.2, Log4j 2 этого не поймет)

Руководство пользователя Log4j 2 содержит в основном примеры XML, поэтому многим людям проще использовать синтаксис конфигурации XML. (Опять же, файл конфигурации должен иметь имя log4j2.xml, Log4j 2 будет игнорировать log4j.xml.)

...