У меня есть проблема и неопределенность, связанная с использованием Log4j.Запись в файл журнала с использованием log4j
- Я не могу записать журнал в файл. Я только получить предупреждение, что говорит:
log4j:WARN No such property [file] in org.apache.log4j.ConsoleAppender.
Вход в консоль работает нормально.
- Я хочу сохранить файл журнала вне контекстного корня. В этом случае, могу ли я жестко указать абсолютный путь в файл свойств? Извините, если это глупый вопрос.
Log4j.properties
# Root logger option
log4j.rootCategory=INFO, file, stdout
# Direct log messages to stdout
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=/Users/me/Documents/apache-tomcat-7.0.34/wtpwebapps/my_app/log.txt
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
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
LogInit.java
String root = Environment.getRootDirectory(getServletContext());
String propertiesUri = root + propertiesUriParameter;
File propertiesFile = new File(propertiesUri);
if (!propertiesFile.exists())
{
System.out.println("Initializing log4j with: " + propertiesUri);
PropertyConfigurator.configure(propertiesUri);
}
Есть ли сообщение об ошибке? Путь в 'log4j.appender.file.File = Users/Me/Documents/apache-tomcat-7.0.34/wtpwebapps/my_app/log.txt' отсутствует ведущий'/'кстати (вы на OS X ?). –
Я этого не заметил. Я вложил это, и код все еще не работает. Я получаю это предупреждение: 'INFO log4j: WARN Нет такого свойства [файл] в org.apache.log4j.ConsoleAppender.' –