Я только что преобразовал log4j в log4j2, используя файл конфигурации xml. Все работает, за исключением того, что я не могу указать путь к файлам журнала с помощью файла свойств.
Это приложение Spring MVC, и у меня есть файл filedirs.properties
, расположенный в папке src/main/resources
вместе с log4j2.xml, сообщением i18n и другими файлами свойств. В нем есть простая запись: logs=G:/web/logs/
. Я просмотрел другие сообщения и просто не понимаю, как правильно настроить log4j2. Вот что у меня есть:
<Configuration>
<Properties>
<Property name="filename">${bundle:net.myapp.filedirs:logs}standard.log</Property>
</Properties>
<File name="stdLog" fileName="${filename}" ignoreExceptions="false">
<PatternLayout pattern="%d{DEFAULT} %-5p: %c - %m%n"/>
</File>
...rest of config...
Ошибка такова:
ERROR FileManager (${bundle:net.myapp.filedir:logs}standard.log) java.io.FileNotFoundException:
Замена фактического пути работает, например,
<Property name="filename">g:/web/logs/standard.log</Property>
Я зациклился на правильной доменной части синтаксиса пакета - myapp.net не является реальным веб-сайтом, но он достаточно похож. Я пробовал пару десятков вариантов, но в режиме отладки java.util.ResourceBundle никогда не находит файл свойств filedirs, когда он проходит инициализацию log4j2. Ручной образец com.domain.messages
, поэтому я в тупике, почему net.myapp.filedirs
не работает.