[英]How to set log4j path on startup in web app?
我有一個log4j2.xml配置文件,它應該通過java代碼在Web應用程序啟動期間動態設置日志記錄路徑。
<Properties>
<property name="path">{web:attr.logpath}</property>
</Properties>
因此我有以下配置文件:
@Configuration
@Order(Ordered.HIGHEST_PRECEDENCE)
public class LogConfig extends SpringBootServletInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
servletContext.addListener(Log4jConfigListener.class);
servletContext.setAttribute("logpath", "d:/testpath");
super.onStartup(servletContext);
}
}
問題:當輸入onStartup()
,log4j初始化已經結束,我收到log4j路徑無效的消息。
如何在設置屬性后延遲log4j初始化?
Spring使用日志記錄。 Log4j必須首先初始化,否則最終會導致spring無法登錄。 通常,這將使用Log4j的Log4jServletContextListener並在web.xml中將logpath設置為config param來處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.