yxhxj2006

          常用鏈接

          統(tǒng)計(jì)

          最新評(píng)論

          log4j配置日志

          懂行的人都知道,log4j日志是個(gè)很基礎(chǔ)的東東,與struts這種高層框架無關(guān),只與web開發(fā)了的tomcat有關(guān)。這里之所以寫出struts,是因?yàn)楣P者一開始用struts的時(shí)候,以為是這樣,也是這樣google的。好了,言歸正傳,開工了
          給tomcat配置log4j有好幾種方法,我知道的有:
          一、tomcat級(jí)別的統(tǒng)一日志管理(沒有實(shí)際驗(yàn)證過,只是查了資料):
          在tomcat的common/lib下增加log4j的.jar包,以便程序使用的時(shí)候,能夠加載到。
          在自己的webapps的WEB-INF/classes下添加log4j.properties配置,所有的東西都是自動(dòng)的
           
          這種方式的缺點(diǎn)很明顯,一個(gè)tomcat可能會(huì)多個(gè)子webapps,都統(tǒng)一到一個(gè)日志下,非常不便于管理。所以重點(diǎn)看下面
           
          二、每個(gè)webapp分別配置log4j(切實(shí)可行的實(shí)踐經(jīng)驗(yàn))
          1、在自己youapp的WEB-INF/lib下增加log4j-xxx.jar文件
          2、自己寫一個(gè)servlet,初始化log4j的相關(guān)配置信息:
          Java代碼
          import javax.servlet.ServletException;  
          import javax.servlet.ServletRequest;  
          import javax.servlet.ServletResponse;  
          import javax.servlet.http.HttpServlet;  
          import org.apache.log4j.PropertyConfigurator;  
            
          public class Log4jInitServlet extends HttpServlet {  
              public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {          
              }  
                
              public void init() throws ServletException {  
                  System.setProperty("webappRoot", getServletContext().getRealPath("/"));       
                  PropertyConfigurator.configure(getServletContext().getRealPath("/") + getInitParameter("configfile"));  
              }  
          }  
           3、修改web.xml文件,讓tomcat啟動(dòng)你app的時(shí)候自動(dòng)加載剛才這個(gè)servlet:
          Xml代碼
          <!-- initialize log4j -->  
          <servlet>  
              <servlet-name>log4j config file</servlet-name>  
              <servlet-class>com.keepc.util.Log4jInitServlet</servlet-class>  
              <init-param>  
                  <param-name>configfile</param-name>  
                  <param-value>/WEB-INF/classes/log4j.properties</param-value>  
              </init-param>  
                
              <load-on-startup>1</load-on-startup>  
          </servlet>  
           4、在youapp/WEB-INF/classes先新建log4j.properties文件,內(nèi)容如下:
          log4j.rootLogger=debug, A1

          log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
          log4j.appender.A1.file=${webappRoot}/logs/youapp_log-
          log4j.appender.A1.DatePattern=yyyy-MM-dd'.log'
          log4j.appender.A1.layout=org.apache.log4j.PatternLayout
          log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss, SSS}[%c]-[%p] %m%n
          5、重新啟動(dòng)tomcat,即可在你的youapp應(yīng)用目錄下看到logs目錄和對(duì)應(yīng)的log文件
          #:這里說道的webapp目錄是指:c:\program files\tomcat\webapps\youapp目錄
          6、在你的app目錄下創(chuàng)建一個(gè)jsp做下測(cè)試:
          Html代碼
          <%@ page contentType="text/html; charset=GBK" language="java" import="org.apache.log4j.Logger,java.util.*"%>  
          <html>  
          <head>  
          <link href="style/reg.css" rel="stylesheet" type="text/css">  
          <title>測(cè)試頁面</title>  
          </head>  
          <body>  
            
          <%  
          Logger log = Logger.getLogger("test.jsp");  
          log.debug("測(cè)試日志,哈哈");  
          %>  
            
          </body>  
            
          </html>  
          在你的瀏覽器調(diào)用下這個(gè)jsp,就可以看到日志內(nèi)容了。
           
          本方法在windows和linux下都通用,完全一樣。
          只與log4j.properties的詳細(xì)配置方法,網(wǎng)上隨便google下都有一籮筐,照抄就是了。

          posted on 2012-12-25 00:52 奮斗成就男人 閱讀(1059) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 邳州市| 旬阳县| 太仆寺旗| 诏安县| 揭西县| 宝丰县| 巨鹿县| 彭泽县| 察雅县| 闸北区| 揭西县| 越西县| 井陉县| 长治县| 阜新市| 婺源县| 西充县| 乌鲁木齐县| 汶川县| 巩留县| 潞西市| 汉沽区| 红桥区| 高陵县| 武胜县| 长泰县| 万全县| 台安县| 武定县| 上栗县| 邢台县| 鄢陵县| 宜丰县| 商洛市| 三门县| 隆昌县| 博乐市| 苏尼特右旗| 高雄县| 资溪县| 孝昌县|