![](/img/trans.png)
[英]How to keep log4j's log file under WEB-INF in struts application
[英]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.