簡體   English   中英

從log4j附加程序中的WEB-INF文件夾加載屬性文件

[英]Loading properties file from WEB-INF folder in a log4j appender

我們正在為我們的應用程序編寫自定義log4j追加器。 附加程序應將其事件記錄到數據庫中。 現在,我遇到的問題是建立數據庫連接。 我們的jdbc設置位於一個名為jdbc.properties的文件中,該文件直接位於WEB-INF文件夾下。

我嘗試使用以下代碼訪問屬性文件

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

...但是流導致為空。 有什么想法可以在將屬性文件移動到另一個位置的情況下如何從log4j附加程序的WEB-INF文件夾中加載屬性文件嗎?

也許你可以嘗試,

 String  path =Thread.currentThread().getContextClassLoader().getResource("/").toURI().resolve("../jdbc.properties").getPath();
 Properties ps=new Properties();
 ps.load(new FileInputStream(path));

您應該能夠通過ServletContext獲取文件。 即:

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

好的,剛才看到,您無權訪問ServletContext-忘記答案了。

是否可以將jdbc連接的信息添加到log4j.properties中? 你為什么要分開兩個?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM