婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > .NET 日志系統設計思路及實現代碼

.NET 日志系統設計思路及實現代碼

熱門標簽:400電話辦理信任翰諾科技 云狐人工智能電話機器人 電銷機器人 數據 地圖標注多少錢一張 宿遷智能外呼系統排名 怎樣給陜西地圖標注顏色 福州人工智能電銷機器人加盟 廣州銷售外呼系統定制 ai電銷機器人對貸款有幫助嗎

日志很明顯是幫助大家定位到問題的一個很重要的手段,本來是想直接使用的NLog 來做系統的日志工具,哎傷不起,一變態非要說這個有很多不可控制的因素,這里我給大家講一下我是怎么實現日志模塊的,歡迎拍磚

總體架構圖

•    在這里我把日子的等級分為 跟蹤,BUG 和錯誤 3種  定義枚舉如下

復制代碼 代碼如下:

/// summary>
    /// 日志等級
    /// /summary>
    public enum Loglevel
    {
        Track=1,
        Bug,
        Error
    }

•    這里考慮日志的模塊的可擴展性 (這里支持 數據庫 和文件 2種方式)  這里使用適配器模式來完成本模塊。 這里給大家來年終福利。貼點代碼
定義一個接口ILogTarget
復制代碼 代碼如下:

public interface ILogTarget
    {
        /// summary>
        /// 寫入追蹤信息
        /// /summary>
        /// param name="LogContent">/param>
        void WriteTrack(string LogContent);

        /// summary>
        /// 寫入BUG信息
        /// /summary>
        /// param name="LogContent">/param>
        void WriteBug(string LogContent);

        /// summary>
        /// 寫入錯誤信息
        /// /summary>
        /// param name="LogContent">/param>
        void WriteError(string LogContent);

    }



•     FileLog ,和DBLog 2個類實現上面的接口 這里不貼上具體的現實
復制代碼 代碼如下:

/// summary>
    /// 文件日志實現類
    /// /summary>
    public class FileLog : ILogTarget
    {
        public void WriteTrack(string LogContent)
        {
            throw new NotImplementedException();
        }

        public void WriteBug(string LogContent)
        {
            throw new NotImplementedException();
        }

        public void WriteError(string LogContent)
        {
            throw new NotImplementedException();
        }
    }


復制代碼 代碼如下:

public class DBLog : ILogTarget
    {
        public void WriteTrack(string LogContent)
        {
            throw new NotImplementedException();
        }

        public void WriteBug(string LogContent)
        {
            throw new NotImplementedException();
        }

        public void WriteError(string LogContent)
        {
            throw new NotImplementedException();
        }
    }


復制代碼 代碼如下:

public class SmartLog
    {
        private ILogTarget _adaptee;

        public SmartLog(ILogTarget tragent)
        {
            this._adaptee = tragent;
        }
        public void WriteTrack(string LogContent)
        {
            _adaptee.WriteTrack(LogContent);
        }

        public void WriteBug(string LogContent)
        {
            _adaptee.WriteBug(LogContent);
        }

        public void WriteError(string LogContent)
        {
            _adaptee.WriteError(LogContent);
        }
    }


•   調用方式
復制代碼 代碼如下:

SmartLog log =new SmartLog (new FileLog());

log.WriteTrack("Hello word");

您可能感興趣的文章:
  • .net 日志系統解析

標簽:大興安嶺 宜春 綿陽 新疆 曲靖 焦作 延安 黃南

巨人網絡通訊聲明:本文標題《.NET 日志系統設計思路及實現代碼》,本文關鍵詞  .NET,日志,系統,設計,思路,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《.NET 日志系統設計思路及實現代碼》相關的同類信息!
  • 本頁收集關于.NET 日志系統設計思路及實現代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 象山县| 新乡市| 东至县| 乌苏市| 沂南县| 盖州市| 日喀则市| 天长市| 合山市| 台安县| 东至县| 两当县| 贵德县| 五寨县| 三明市| 佛学| 资中县| 阿鲁科尔沁旗| 大同县| 石柱| 隆尧县| 古蔺县| 库车县| 黄梅县| 米易县| 化隆| 通化县| 阜城县| 图们市| 富源县| 长寿区| 修武县| 根河市| 太白县| 新蔡县| 台安县| 鄄城县| 明水县| 昌江| 枣阳市| 含山县|