最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2013年12月21日 15:14:07   作者:  
這篇文章主要介紹了.NET 日志系統(tǒng)設(shè)計思路及實現(xiàn)代碼,有需要的朋友可以參考一下

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

總體架構(gòu)圖

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

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

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

•    這里考慮日志的模塊的可擴展性 (這里支持 數(shù)據(jù)庫 和文件 2種方式)  這里使用適配器模式來完成本模塊。 這里給大家來年終福利。貼點代碼
定義一個接口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>
        /// 寫入錯誤信息
        /// </summary>
        /// <param name="LogContent"></param>
        void WriteError(string LogContent);

    }



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

/// <summary>
    /// 文件日志實現(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");

您可能感興趣的文章:

相關(guān)文章

  • asp.net中利用ashx實現(xiàn)圖片防盜鏈代碼

    asp.net中利用ashx實現(xiàn)圖片防盜鏈代碼

    直接分析盜鏈原理:看下面用httpwatch截獲的http發(fā)送的數(shù)據(jù)
    2008-11-11
  • 用C#中的params關(guān)鍵字實現(xiàn)方法形參個數(shù)可變

    用C#中的params關(guān)鍵字實現(xiàn)方法形參個數(shù)可變

    個人認(rèn)為,提供params關(guān)鍵字以實現(xiàn)方法形參個數(shù)可變是C#語法的一大優(yōu)點。在方法形參列表中,數(shù)組類型的參數(shù)前加params關(guān)鍵字,通??梢栽谡{(diào)用方法時代碼更加精練
    2012-01-01
  • 用WPF實現(xiàn)屏幕文字提示的實現(xiàn)方法

    用WPF實現(xiàn)屏幕文字提示的實現(xiàn)方法

    本文介紹WPF應(yīng)用程序?qū)崿F(xiàn)在屏幕上顯示一行或多行文字通知。它沒有標(biāo)題欄和最大化最小化等按鈕,可以有半透明背景以使文字的顯示更清晰,鼠標(biāo)點擊后提示消失。
    2013-07-07
  • 快速入門ASP.NET Core看這篇就夠了

    快速入門ASP.NET Core看這篇就夠了

    ASP.NET Core 是一個由微軟創(chuàng)建的,用于構(gòu)建 web 應(yīng)用、API、微服務(wù) 的 web 框架。通過本文的學(xué)習(xí)就能快速的入門ASP.NET Core,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • asp.net core中Cookie和Session的實現(xiàn)示例

    asp.net core中Cookie和Session的實現(xiàn)示例

    ASP.NET Core用戶會話管理主要通過Cookie和Session實現(xiàn),本文主要介紹了asp.net core中Cookie和Session的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2025-01-01
  • 在ASP.NET Core5.0中訪問HttpContext的方法步驟

    在ASP.NET Core5.0中訪問HttpContext的方法步驟

    這篇文章主要介紹了在ASP.NET Core5.0中訪問HttpContext的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • asp.net圖片文件的上傳與刪除方法

    asp.net圖片文件的上傳與刪除方法

    這篇文章主要介紹了asp.net圖片文件的上傳與刪除方法,簡單分析了jpg格式圖片的上傳與文件刪除技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-05-05
  • asp.net使用npoi讀取excel模板并導(dǎo)出下載詳解

    asp.net使用npoi讀取excel模板并導(dǎo)出下載詳解

    這篇文章主要介紹了asp.net使用npoi讀取excel模板并導(dǎo)出下載的示例,大家參考使用吧
    2014-01-01
  • asp.net 模擬提交有文件上傳的表單(通過http模擬上傳文件)

    asp.net 模擬提交有文件上傳的表單(通過http模擬上傳文件)

    通過HTTP模擬GET或POST請求,提交數(shù)據(jù)到服務(wù)端獲取響應(yīng),比較常見些;但如上傳文件到服務(wù)端,使用html form當(dāng)然簡單了,而因環(huán)境所限有時需要使用模擬方法去提交有附件(文件上傳)的表單。
    2010-02-02
  • asp.net TemplateField模板中的Bind方法和Eval方法

    asp.net TemplateField模板中的Bind方法和Eval方法

    在TemplateField模板中為了能夠有限制的或者取出數(shù)據(jù)庫中某列的值時,可以用Bind和Eval方法來實現(xiàn)。以下是Bind方法的格式,Eval的格式也是和Bind一樣的。 Bind("列的名稱","顯示的格式文")
    2009-06-06

最新評論

电白县| 尉犁县| 奉贤区| 灵川县| 前郭尔| 平南县| 开原市| 中方县| 新乐市| 潼南县| 盘山县| 寿宁县| 寻乌县| 房产| 阜阳市| 高陵县| 若尔盖县| 建宁县| 萝北县| 长阳| 竹北市| 彭山县| 太保市| 获嘉县| 双桥区| 合水县| 从化市| 观塘区| 昌邑市| 鄂托克旗| 石城县| 资兴市| 晋州市| 四会市| 普陀区| 察隅县| 甘德县| 五指山市| 开封市| 久治县| 淮安市|