classpath: / resources / META-INF / spring / log4j.xml
Похоже, вы используете maven.Но maven будет "разбивать" папки src
и resources
на одну.Таким образом, в случае проекта Maven путь будет: classpath:META-INF/spring/log4j.xml
без косой черты после classpath:
Если вы работаете на сервере, выследует инициализировать каркас ведения журнала перед запуском Spring, потому что сам Spring будет использовать его для регистрации информации при запуске.
Один из способов сделать это - добавить эти строки в файл web.xml (чем вам не нужносделать это в конфигурации пружины)
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/META-INF/log4j.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
Когда я пытаюсь установить точку останова и посмотреть значение Расположение функции
public static void initLogging(java.lang.String location) throws java.io.FileNotFoundException { /* compiled code */ }
Выдействительно уверен?Волшебство делается в строке: URL url = ResourceUtils.getURL(resolvedLocation);
Итак, resolvedLocation
- это ваша строка "classpath: META-INF ...", но возвращаемый URL - это "переведенный" путь.
Обратите внимание на факт, что функция getURL
вызывает исключение, когда местоположение ресурса начинается с classpath:
и файл не найден.Поэтому я бы проверил, что произойдет, если я укажу несуществующий файл.-> Если исключение не возникает, то в classpath:
.
есть орфографическая ошибка.