婷婷综合国产,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 日志系統設計思路及實現代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 花莲市| 磐石市| 贵州省| 大悟县| 牡丹江市| 福建省| 云浮市| 乐清市| 夏津县| 灵武市| 盈江县| 汾西县| 达尔| 阿拉善右旗| 饶阳县| 锡林郭勒盟| 肇州县| 射洪县| 齐齐哈尔市| 蒲城县| 徐水县| 榆社县| 桂林市| 漾濞| 张家界市| 潼南县| 高淳县| 江华| 海南省| 永仁县| 炎陵县| 博客| 江源县| 孝感市| 陆河县| 保亭| 荆门市| 湖北省| 万山特区| 会泽县| 南昌市|