В проекте Maven я поместил файл log4j.properties в каталог src \ main \ resources, который, кажется, является обычным местом для его ввода. Однако он не появляется чтобы прочитать его или есть ошибка, которую я не вижу, поскольку мой регистратор не печатает сообщения уровня DEBUG (он действительно печатает сообщения уровня INFO) и не создает файл logs.log. Вот что log4j.properties файл я использую:log4j не читает файл log4j.properties
# 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=D:/.../src/main/resources/META-INF/logs.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
Я также попытался пройти путь к файлу log4j.properties в моей конфигурации запуска, но это не сработало: -Dlog4j.configuration=file:D:/.../src/main/resources/log4j.properties
Эти проект запускается через другой связанный проект, поэтому я использовал весь путь к файлу, который может быть неправильным, так как ни один из примеров, которые я видел, не содержит полных путей.
Сервер, который мы используем для запуска приложения, - это Wildfly 8.1.0, у которого есть собственный log4j logger, так что, возможно, это как-то мешает?
Вот часть моего перехватчика, который должен создавать журналы:
final static Logger logger = Logger.getLogger(RestInterceptor.class);
...
if(e instanceof ApplicationException) {
logger.debug(e.getMessage(), e);
//TODO remove these when done testing
logger.debug("debug is working");
logger.info("info is working");
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
}
Однако только «информация работает» печатается.
Это, как я передать его в том, когда я запускаю мой клиент: -Dlog4j.configuration = файл: /// D: /dev/settings/log4j.agility.properties Вы упускаете «/// 'после' файла: 'в вашем примере. Может, и все? – Craig
Кроме того, убедитесь, что корректный поставщик журналов загружен в ваше дерево зависимостей maven. Раньше я сталкивался с конфликтами, и мне приходилось включать для зависимостей, которые включали поставщика журналов. –
Craig
Я добавил «///», но, к сожалению, это не решило проблему. – Arqan