溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處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 雪山飛鵠 閱讀(8433) 評論(2)  編輯  收藏 所屬分類: javasespring

          Feedback

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

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

          主站蜘蛛池模板: 潮州市| 集贤县| 宜宾市| 稻城县| 珲春市| 内乡县| 出国| 兴隆县| 栾川县| 普兰店市| 宁明县| 乡宁县| 金塔县| 乌拉特中旗| 承德市| 额尔古纳市| 晋中市| 博客| 扬中市| 桐城市| 景洪市| 沾益县| 潼南县| 静安区| 肇东市| 阳城县| 油尖旺区| 永昌县| 铜鼓县| 桃园县| 上栗县| 陇川县| 达拉特旗| 青龙| 阿鲁科尔沁旗| 河池市| 玛纳斯县| 武汉市| 邛崃市| 平顶山市| 碌曲县|