java 初始化log4j_[Java教程]JavaWeb应用中初始化Log4j的两种方式

[Java教程]JavaWeb应用中初始化Log4j的两种方式

0 2017-04-02 00:00:44

本文主要介绍了普通JavaWeb应用(基于Tomcat)中初始化Log4j的两种方式:

1、通过增加 InitServlet ,设置令其自启动来初始化 Log4j 。

2、通过监听器 ServletContextListener 监听 ServletContext 的初始化事件来初始化 Log4j 。

先来看下方式一,直接上代码:

web.1 5 6 initServlet 7 com.michael.controll.InitServlet 8 9 log4j10 WEB-INF/config/log4j.properties11 12 113 14 15 16 initServlet17 /initServlet.do18 19 20

其中参数 1 指定 initServlet 随 web 应用的部署而自启动,启动优先级为 1,此数值越小,优先级越高。

并在参数 WEB-INF/config/log4j.properties 中指定 log4j.properties 文件存放的位置。

InitServlet 代码如下:1 public class InitServlet extends HttpServlet { 2 @Override 3 public void init() throws ServletException { 4 super.init(); 5 String prefix = getServletContext().getRealPath("/"); 6 // Log4J 7 String log4jFile = getServletConfig().getInitParameter("log4j"); 8 String log4jConfigPath = prefix + log4jFile; 9 PropertyConfigurator.configure(log4jConfigPath);10 }11 }

这样即可完成 log4j 的初始化工作。再来看下方式二,通过监听器 ServletContextListener 监听 ServletContext 的初始化事件来初始化 Log4j 。

web.1 2 6 7 8 log4j 9 WEB-INF/config/log4j.properties10 11 12 13 com.michael.listener.MyServletContextListener14 15 16

同样在 servletContext 初始化参数 WEB-INF/config/log4j.properties 中指定文件存放位置。

下面看下监听 servletContext 初始化的监听器:1 public class MyServletContextListener implements ServletContextListener { 2 3 @Override 4 public void contextInitialized(ServletContextEvent servletContextEvent) { 5 ServletContext ctx = servletContextEvent.getServletContext(); 6 String prefix = ctx.getRealPath("/"); 7 // Log4J 8 String log4jFile = ctx.getInitParameter("log4j"); 9 String log4jConfigPath = prefix + log4jFile;10 PropertyConfigurator.configure(log4jConfigPath);11 System.out.println("initialized log4j finish");12 }13 14 @Override15 public void contextDestroyed(ServletContextEvent servletContextEvent) {16 17 }18 }

在 context 初始化完成后调用 contextInitialized 方法完成 Log4j 的初始化。

值得注意的是,无论在 1 参数中把自启动 servlet 的优先级设置的多高,这个 servlet  的 init 方法都会在ServletContextListener 的 contextInitialized 方法调用之后才被调用。

本篇随笔主要用于个人备忘,如有不对,敬请指出!

本文网址:http://www.shaoqun.com/a/305542.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

JAVA

0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值