Как устранить эту ошибку «ClassNotFoundException» - PullRequest
0 голосов
/ 06 марта 2020

Привет, я получаю эту ошибку

Ошибка: не удалось найти или загрузить основной класс Log4jEx.BasicConfiguratorEx Причина: java .lang.ClassNotFoundException: Log4jEx.BasicConfiguratorEx

Это моя программа

package Log4jEx;

import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Logger;

public class BasicConfiguratorEx {

    static Logger logger = Logger.getLogger(BasicConfiguratorEx.class); 
    //Creating object for Logger without NEW//

    public static void main(String[] args) {            
        BasicConfigurator.configure();
        logger.debug("This is a debug");
        logger.info("This is a info");
        logger.warn("This is a warn");
        logger.fatal("This is a fatal message");    
    }    
}

1 Ответ

0 голосов
/ 06 марта 2020

log4j 1.x

BasicConfigurator является классом log4j 1.2 и не может использоваться для настройки Log4j 2.

Log4j 1.x достиг конца of life

Если вы хотите использовать BasicConfigurator в вашем проекте.

  1. скачайте log4j 1.2 jar с этого веб-сайта .
  2. Добавьте log4j-1.2.17 в путь сборки вашего проекта в виде внешних jar-файлов.

log4j 2.x

Нет необходимости в классе BasicConfigurator.

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

public class HelloWorld {
    private static final Logger logger = LogManager.getLogger("HelloWorld");
    public static void main(String[] args) {
        logger.debug("This is debug message");
        logger.info("This is info message");
        logger.warn("This is warn message");
        logger.fatal("This is fatal message");
        logger.error("This is error message");
        System.out.println("Executed successfully....");

    }
}

output:
This is debug message
This is info message
This is warn message
This is fatal message
This is error message
Logic executed successfully....

добавить файл log4j2.properties в src / main / resources

name=PropertiesConfig

rootLogger.level=debug
rootLogger.appenderRefs=stdout
rootLogger.appenderRef.stdout.ref=StandardOutput

appenders=console

#log messages to terminal
appender.console.type=Console
appender.console.name=StandardOutput

в pom. xml добавить приведенную ниже зависимость

<dependency>
   <groupId>org.apache.logging.log4j</groupId>
   <artifactId>log4j-api</artifactId>
   <version>2.13.1</version>
</dependency>
<dependency>
   <groupId>org.apache.logging.log4j</groupId>
   <artifactId>log4j-core</artifactId>
   <version>2.13.1</version>
</dependency>

Надеюсь, это поможет.

...