#java #eclipse #logging #log4j #log4j2
#java #eclipse #ведение журнала #log4j #log4j2
Вопрос:
Я поместил следующий файл log4j.properties в папку src моего динамического веб-проекта eclipse. Но каждый раз журналы печатаются на консоли, хотя я пишу код для печати журналов только в файле. Если я удаляю файл log4j.properties, то он также печатается на консоли.Не знаю, что пошло не так.
###############################################################################
log4j.rootLogger=INFO, file
###############################################################################
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=D:/apache-tomcat-7.0.47/webapps/LogFile.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %-5p %c - %m%n
###############################################################################
Я использую следующий код для печати журналов.
import org.apache.log4j.Logger;
Logger log = Logger.getLogger(Client.class.getName());
log.info("First log");
Комментарии:
1. Пожалуйста, опубликуйте некоторые строки, которые были напечатаны на консоли.
2. Таким образом вывод генерируется на консоли. [ИНФОРМАЦИЯ][com.sun.security.ntlm. Клиент] — Первый журнал
Ответ №1:
Попробуйте переопределить конфигурацию log4j в вашем классе следующим образом:
import org.apache.log4j.PropertyConfigurator;;
static{
PropertyConfigurator.configure("src/main/resources/log4j.properties");
}
Предполагается, что у вас есть файл, вызываемый log4j.properties
в src/main/resources
Ответ №2:
Спасибо, Нихил
Я использовал следующий код, просмотрев ваш код, и он отлично работал.
import org.apache.log4j.PropertyConfigurator;
PropertyConfigurator.configure(getClass().getClassLoader().getResourceAsStream("log4j.properties"));