主頁 > 知識(shí)庫 > .NET 日志系統(tǒng)設(shè)計(jì)思路及實(shí)現(xiàn)代碼

.NET 日志系統(tǒng)設(shè)計(jì)思路及實(shí)現(xiàn)代碼

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

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

總體架構(gòu)圖

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

復(fù)制代碼 代碼如下:

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

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

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>
        /// 寫入錯(cuò)誤信息
        /// /summary>
        /// param name="LogContent">/param>
        void WriteError(string LogContent);

    }



•     FileLog ,和DBLog 2個(gè)類實(shí)現(xiàn)上面的接口 這里不貼上具體的現(xiàn)實(shí)
復(fù)制代碼 代碼如下:

/// summary>
    /// 文件日志實(shí)現(xiàn)類
    /// /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();
        }
    }


復(fù)制代碼 代碼如下:

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();
        }
    }


復(fù)制代碼 代碼如下:

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);
        }
    }


•   調(diào)用方式
復(fù)制代碼 代碼如下:

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

log.WriteTrack("Hello word");

您可能感興趣的文章:
  • .net 日志系統(tǒng)解析

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《.NET 日志系統(tǒng)設(shè)計(jì)思路及實(shí)現(xiàn)代碼》,本文關(guān)鍵詞  .NET,日志,系統(tǒng),設(shè)計(jì),思路,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《.NET 日志系統(tǒng)設(shè)計(jì)思路及實(shí)現(xiàn)代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于.NET 日志系統(tǒng)設(shè)計(jì)思路及實(shí)現(xiàn)代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章