<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    關(guān)于log4j的日志文件保存位置解決方案

    Posted on 2010-06-10 15:02 瘋狂 閱讀(36708) 評(píng)論(3)  編輯  收藏 所屬分類: java springweb
    以DailyRollingFileAppender 為例:假設(shè)每天一個(gè)日志文件
    有以下設(shè)置:

    log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.A1.File=app.log
    log4j.appender.A1.DatePattern='.'yyyy-MM-dd
    log4j.appender.A1.layout=org.apache.log4j.PatternLayout
    log4j.appender.A1.layout.ConversionPattern=%d %5p - %c -%-4r [%t]    - %m%n

    此時(shí)生成日志文件將位于tomcat的bin目錄下,如要將日志文件保存在 :根目錄/web-info/logs/下,個(gè)人有以下4種解決方案:
    1 絕對(duì)路徑
    log4j.appender.A1.File=D:\apache-tomcat-6.0.18/webapps/項(xiàng)目/WEB-INF/logs/app.log
    但這種寫法靈活性很差

    以下3中使用相同的設(shè)置原理: jvm的環(huán)境變量
     2:spring的Log4jConfigListener
    通過(guò)以下配置:
    <context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>webApp.root</param-value>
      </context-param>
     <context-param>
      <param-name>log4jConfigLocation</param-name>
        <param-value>classpath:log4j.properties</param-value>
     </context-param>
    <listener> 
         <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 
     </listener>
    ...
    log4j.appender.logfile.File=${webApp.root}/WEB-INF/logs/app.log
    ...
    來(lái)解決
     2:使用已有jvm變量:
    例如:
        log4j.appender.logfile.File=${user.home}/logs/app.log
      日志將位于:例如windows:C:\Documents and Settings\joe\logs\app.log

    3 自己設(shè)置目錄,也就是在項(xiàng)目啟動(dòng)時(shí)通過(guò)System.setProperty設(shè)置
    通過(guò)實(shí)現(xiàn)ServletContextListener來(lái)解決:例如

    public class log4jlistener implements ServletContextListener {

     public static final String log4jdirkey = "log4jdir";
     public void contextDestroyed(ServletContextEvent servletcontextevent) {
      System.getProperties().remove(log4jdirkey);

     }

     public void contextInitialized(ServletContextEvent servletcontextevent) {
      String log4jdir = servletcontextevent.getServletContext().getRealPath("/");
      //System.out.println("log4jdir:"+log4jdir);
      System.setProperty(log4jdirkey, log4jdir);

     }

    }
    web.xml配置:

    <listener>
      <listener-class>com.log4j.log4jlistener</listener-class>
     </listener>

    log4j.prtperties 配置:
    log4j.appender.A1.File=${log4jdir}/WEB-INF/logs/app1.log
    來(lái)解決。

    如果各位還有其他方法,請(qǐng)回帖補(bǔ)充 謝謝。。。

    評(píng)論

    # re: 關(guān)于log4j的日志文件保存位置解決方案  回復(fù)  更多評(píng)論   

    2010-06-10 23:45 by 隔葉黃鶯
    設(shè)置方法一般都那些,在 websphere 里可以為進(jìn)程定義一個(gè) work dir。
    不過(guò)一般日志會(huì)生成在一個(gè)與應(yīng)用無(wú)關(guān)的目錄中的。

    # re: 關(guān)于log4j的日志文件保存位置解決方案  回復(fù)  更多評(píng)論   

    2010-06-21 23:09 by Qiu
    這種寫法也有問(wèn)題,那就是部署到服務(wù)器的時(shí)候war包必須是解開的(部署到tomcat 可以),有些服務(wù)器是不會(huì)自動(dòng)解開war包就運(yùn)行的,你可以部署到weblogic 11上面試試看 :-)

    # re: 關(guān)于log4j的日志文件保存位置解決方案  回復(fù)  更多評(píng)論   

    2014-10-28 16:16 by sasd
    asasad
    主站蜘蛛池模板: 成人国产精品免费视频| 青娱乐在线视频免费观看| 日韩视频在线观看免费| 黑人大战亚洲人精品一区| XXX2高清在线观看免费视频| 亚洲自偷自偷在线制服| caoporn成人免费公开| 久久久青草青青国产亚洲免观 | 欧美最猛性xxxxx免费| 亚洲中文字幕人成乱码| 性做久久久久久免费观看| 亚洲私人无码综合久久网| 国产伦精品一区二区三区免费下载| 日韩在线观看免费完整版视频| 亚洲色WWW成人永久网址| 国内精品免费视频精选在线观看| 五月天网站亚洲小说| h视频在线免费看| 亚洲AV无码一区二区三区电影| 免费a级毛片在线观看| 成人无码视频97免费| 日韩亚洲Av人人夜夜澡人人爽 | 亚洲人成图片网站| 亚洲A∨午夜成人片精品网站| 中文字幕在线观看免费| 亚洲成人高清在线观看| 午夜成年女人毛片免费观看| 无码人妻一区二区三区免费视频| 久久青青成人亚洲精品| 啦啦啦高清视频在线观看免费 | 久久精品国产免费观看| 久久精品国产亚洲av天美18| 亚洲日韩精品一区二区三区 | 4虎永免费最新永久免费地址| 色婷婷六月亚洲综合香蕉| 亚洲精品无码鲁网中文电影| 日本免费xxxx色视频| 免费看黄网站在线看 | 亚洲免费观看视频| 毛片a级毛片免费观看品善网| 成人自慰女黄网站免费大全|