Загрузка файла свойств из папки WEB-INF в приложении log4j - PullRequest
1 голос
/ 14 декабря 2011

Мы пишем специальный app4 log4j для нашего приложения.Аппендер должен регистрировать свои события в базе данных.Теперь у меня проблема с настройкой соединения с базой данных.Наши настройки jdbc находятся в файле с именем jdbc.properties, который находится непосредственно в папке WEB-INF.

Я попытался получить доступ к файлу свойств, используя следующий код

InputStream stream = Thread.currentThread().getContextClassLoader()
                    .getResourceAsStream("jdbc.properties");

... но поток приводит к нулю.Любые идеи, как я могу загрузить файл свойств из папки WEB-INF в приложении log4j без перемещения файла свойств в другое место?

Ответы [ 2 ]

1 голос
/ 14 декабря 2011

Может быть, вы можете попробовать,

 String  path =Thread.currentThread().getContextClassLoader().getResource("/").toURI().resolve("../jdbc.properties").getPath();
 Properties ps=new Properties();
 ps.load(new FileInputStream(path));
0 голосов
/ 14 декабря 2011

Вы должны быть в состоянии получить файл через ServletContext. т.е.:

ServletContext ctx = ...
InputStream stream = ctx.getResourceAsStream("/WEB-INF/jdbc.properties"); 

Ладно, только что увидел, что у вас нет доступа к ServletContext - забудьте ответ.

Разве нельзя добавить информацию для соединения jdbc в log4j.properties? Почему ты разделяешь их?

...