<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 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

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

    Posted on 2010-06-10 15:02 瘋狂 閱讀(36708) 評論(3)  編輯  收藏 所屬分類: java springweb
    以DailyRollingFileAppender 為例:假設(shè)每天一個日志文件
    有以下設(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

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

    以下3中使用相同的設(shè)置原理: jvm的環(huán)境變量
     2:spring的Log4jConfigListener
    通過以下配置:
    <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
    ...
    來解決
     2:使用已有jvm變量:
    例如:
        log4j.appender.logfile.File=${user.home}/logs/app.log
      日志將位于:例如windows:C:\Documents and Settings\joe\logs\app.log

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

    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
    來解決。

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

    評論

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

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

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

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

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

    2014-10-28 16:16 by sasd
    asasad
    主站蜘蛛池模板: 亚色九九九全国免费视频| 免费看成人AA片无码视频吃奶| 最近免费中文字幕mv电影| 亚洲人JIZZ日本人| 视频免费在线观看| 亚洲精品二区国产综合野狼| 伊人免费在线观看高清版| 亚洲精品国产美女久久久| 青青操免费在线视频| 亚洲精品私拍国产福利在线| 在线美女免费观看网站h| 亚洲精品国产肉丝袜久久| 妻子5免费完整高清电视| 中文字幕在线观看亚洲视频| 午夜神器成在线人成在线人免费| 亚洲人成人网站18禁| xvideos亚洲永久网址| 精品国产污污免费网站入口| 亚洲Av综合色区无码专区桃色| 3344免费播放观看视频| 亚洲永久在线观看| 亚洲av无码不卡私人影院| 未满十八私人高清免费影院| 中文字幕不卡亚洲| 91大神免费观看| 亚洲成a人无码亚洲成av无码| 亚洲av午夜成人片精品电影| 99视频在线观看免费| 亚洲精品午夜久久久伊人| 免费无码一区二区三区蜜桃大| 免费的黄网站男人的天堂| 婷婷精品国产亚洲AV麻豆不片| 最近的免费中文字幕视频| av片在线观看永久免费| 亚洲国产精品美女| 亚洲国产精品成人网址天堂 | 亚洲视频小说图片| 日韩免费a级在线观看| 成人性生交大片免费看中文| 亚洲中文字幕无码中文字| 亚洲日韩欧洲乱码AV夜夜摸|