Мои результаты Maven проекта в файл WAR развернут на сервере TomcatSLF4J не создали
Я включил зависимость к SLF4J-log4j подобное в моей pom.xml
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
log4j .Properties файл выглядит так, что (я убедился, что это на самом деле развертывается в файле войны и заканчивается в WEB-INF/классы):
log4j.rootLogger = DEBUG, MyFile
# Define the file appender
log4j.appender.MyFile=org.apache.log4j.FileAppender
log4j.appender.MyFile.File=${catalina.base}/logs/MyFile.log
log4j.appender.MyFile.ImmediateFlush=true
log4j.appender.MyFile.Threshold=DEBUG
log4j.appender.MyFile.layout=org.apache.log4j.PatternLayout
log4j.appender.MyFile.layout.ConversionPattern=%-5p [%t]: %m%n
следующий код должен AFAIK производить файл журнала в мой том cat logs с именем MyFile.log, который также включает мой выход журнала ... но это не так. Файл даже не создается.
EDIT2: Вместо этого я обнаружил, что записи журнала записываются в STDOUT вместо лог-файл FileAppender ...
EDIT3: Я тестировал на двух разных Tomcats (один на Suse Linux, другой на Windows как услугу). В результате, по существу, тот же
private Logger logger = LoggerFactory.getLogger(MyClass.class);
...
logger.info("User {} not found", cn);
EDIT:
- Я проверил файл банку этого LOG4J является также развертывается
- прав пользователя достаточно для создания файла журнала. В моем первом тесте я даже видел созданный файл (но все еще пустой). В последующих тестах файл журнала больше не был создан
Что я делаю неправильно?
Вы также использовали log4j.jar в папке/lib? – Fildor
slf4j-log4j имеет зависимость от log4j, поэтому да, log4j также был развернут в WEB-INF/lib (я также проверил) – devnull69
Просто хотел убедиться ... И права пользователей тоже не проблема? Может ли ваше приложение создавать файлы в catalina.base/logs? – Fildor