<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
    主站蜘蛛池模板: 91免费国产精品| 国产一级特黄高清免费大片| 羞羞视频免费网站入口| 啊v在线免费观看| 免费h视频在线观看| 亚洲欧洲日本在线观看| 日本中文一区二区三区亚洲| 在线播放免费人成毛片乱码| 亚洲日韩精品无码AV海量| 亚洲午夜国产精品无码老牛影视| 在线美女免费观看网站h| 国产精品亚洲专区无码WEB| 亚洲熟妇丰满多毛XXXX| 成人激情免费视频| 三年片免费高清版| 亚洲一线产区二线产区区| 亚洲色欲色欲www在线丝| 永久免费看bbb| 99久久久国产精品免费牛牛| 国产精品亚洲五月天高清| 337p欧洲亚洲大胆艺术| 亚洲人成影院在线观看| 亚洲中文无码永久免费| 亚洲精品偷拍视频免费观看| 亚洲精品456人成在线| 国产亚洲福利精品一区| 国产片免费在线观看| 久久精品无码精品免费专区| 爱情岛论坛免费视频| 亚洲性69影院在线观看| 亚洲人成色77777| 性做久久久久免费看| 国产成人免费高清激情明星| 中文字幕无码免费久久| 国产AV日韩A∨亚洲AV电影 | 亚洲永久在线观看| 亚洲va久久久噜噜噜久久| 亚洲JIZZJIZZ中国少妇中文| 成人黄动漫画免费网站视频| 91在线老王精品免费播放| 久章草在线精品视频免费观看|