溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.aygfsteel.com/sxyx2008/謝謝合作!!!

          雪山飛鵠

          溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.aygfsteel.com/sxyx2008/謝謝合作!!!

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks

                  需求描述:任何程序都會存在bug,雖然項目經過反復測試,已經上線運行了,但難免會遇到各種錯誤,在這里輕松配置log4j實現錯誤消息的email通知.
                  兩個文件:web.xml log4j.properties
                  web.xml
                  在web.xml中添加如下代碼

          <!-- 設置上下文參數 -->
              
          <context-param>
                  
          <!-- log4j配置文件位置 -->
                  
          <param-name>log4jConfigLocation</param-name>
                  
          <param-value>/WEB-INF/classes/log4j.properties</param-value>
              
          </context-param>
              
          <context-param>
                  
          <param-name>log4jRefreshInterval</param-name>
                  
          <param-value>6000</param-value>
              
          </context-param>
              
          <!-- log4j監聽器 -->
              
          <listener>
                  
          <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
              
          </listener>
                  log4j.properties
          ## ROOT
          log4j.rootLogger=INFO,CONSOLE,MAIL

          ## CONSOLE
          log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
          log4j.appender.Threshold=INFO
          log4j.appender.CONSOLE.Target=System.out
          log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
          #log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
          log4j.appender.CONSOLE.layout.ConversionPattern=[\u8C03\u8BD5\u4FE1\u606F]%-5p %c %x - %m%n

          ## File
          log4j.appender.A_default=org.apache.log4j.RollingFileAppender
          log4j.appender.A_default.Threshold=INFO
          log4j.appender.A_default.File=e\:/logs/log4j.log
          log4j.appender.A_default.MaxFileSize=4000KB
          log4j.appender.A_default.MaxBackupIndex=10
          log4j.appender.A_default.layout=org.apache.log4j.PatternLayout
          log4j.appender.A_default.layout.ConversionPattern=[\u8C03\u8BD5\u4FE1\u606F]%-5p %c %x - %m%n

          ## MAIL
          log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
          # 日志的錯誤級別
          log4j.appender.MAIL.Threshold=ERROR
          # 緩存文件大小,日志達到512K時發送Email
          log4j.appender.MAIL.BufferSize=10
          # 發送郵件的服務器
          log4j.appender.MAIL.SMTPHost=smtp.163.com
          # 郵件的標題
          log4j.appender.MAIL.Subject=\u6D4B\u8BD5log4j\u8F93\u51FA\u9519\u8BEF\u4FE1\u606F\u5230\u65E5\u5FD7
          # 用戶名
          log4j.appender.MAIL.SMTPUsername=你的用戶名
          # 密碼
          log4j.appender.MAIL.SMTPPassword=你的密碼
          # 發件人地址
          log4j.appender.MAIL.From=xxxxx@163.com
          # 日志郵件的接收者
          log4j.appender.MAIL.To=xxx@qq.com
          # 日志PatternLayout
          log4j.appender.MAIL.layout=com.quartz.demo.Loger4JHTMLLayOut
          # 日志的格式
          log4j.appender.MAIL.layout.ConversionPattern=[ErrorMessage] %d - %c -%-4r [%t] %-5p %c %x - %m%n

                  注:在以上log4j.properties文件中配置了自己的自定義layout,由于log4j默認采用的純文本方式.這樣不便于我們在郵件中查看,因此覆蓋它的layout,自定義屬于我們自己的layout
                  自定義類com.quartz.demo.Loger4JHTMLLayOut完成了該功能
          package com.quartz.demo;

          import org.apache.log4j.HTMLLayout;

          public class Loger4JHTMLLayOut extends HTMLLayout{
              
              @Override
              
          public String getContentType() {
                  
          return "text/html;charset=utf-8"
              }

          }

                  即:只需設置contentType為text/html即可
                  效果圖:

                      log4j.properties
          posted on 2010-07-14 01:44 雪山飛鵠 閱讀(8425) 評論(2)  編輯  收藏 所屬分類: javasespring

          Feedback

          # re: 輕松配置log4j實現錯誤日志email通知 2010-07-14 08:46 夢源
          不錯! 學習了!
            回復  更多評論
            

          # re: 輕松配置log4j實現錯誤日志email通知 2013-01-15 11:58 龍哥
          測試有效!!!感謝分享!  回復  更多評論
            

          主站蜘蛛池模板: 西盟| 密云县| 那曲县| 广德县| 石屏县| 麦盖提县| 临湘市| 额济纳旗| 建平县| 东乡| 鸡东县| 龙里县| 阳新县| 报价| 罗源县| 新邵县| 康乐县| 尼勒克县| 饶河县| 海伦市| 青海省| 呼玛县| 镶黄旗| 新宾| 安宁市| 新田县| 枣阳市| 潍坊市| 潞城市| 若羌县| 广东省| 扎兰屯市| 常熟市| 秭归县| 手游| 永丰县| 竹北市| 湖口县| 昌都县| 英超| 浦城县|