博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微软企业库研究之日志模块
阅读量:6422 次
发布时间:2019-06-23

本文共 3058 字,大约阅读时间需要 10 分钟。

hot3.png

很久之前研究微软的企业库时候写的,要注意需要引用Microsoft.Practices.EnterpriseLibrary.Logging组件库,因为ASP.NET5出来,微软在.netframework中自带了Logger,所以应该以后也不会用上。

using System;using System.Collections.Generic;using System.Diagnostics;using System.IO;using System.Linq;using System.Text;using Microsoft.Practices.EnterpriseLibrary.Logging;using Microsoft.Practices.EnterpriseLibrary.Logging.Formatters;using Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners;namespace Enuo.Core.Log{    ///     /// 标题:微软企业库日志模块调用类    /// 描述:目前适用Enterprise6.0    /// 作者:sunjipeng    /// 日期:2013-12-24    ///     public class EnterpriseLibraryLogger    {        #region Variables        static LogWriter logwriter;        static LoggingConfiguration config;        //static LogWriterFactory factory;        static string headerstyle = "------------Log--------------";        #endregion        #region Ctors        static EnterpriseLibraryLogger()        {            TextFormatter brie = new TextFormatter();            var flatFileTraceListener = new FlatFileTraceListener(DefaultDirectory, headerstyle, string.Empty, brie);            config = new LoggingConfiguration();            config.AddLogSource("mylog", SourceLevels.All, true).AddTraceListener(flatFileTraceListener);            logwriter = new LogWriter(config);        }        #endregion        #region Property Getter Setter        ///         /// 默认的日志路径        ///         public static string DefaultDirectory        {            get            {                string dirname = "AppLog";                string dir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,dirname);                if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); }                return dir;            }        }        #endregion        #region Public Methods        ///         /// 写入调试跟踪日志        ///         public static void WriteDebug(string msg)        {            if(logwriter.IsLoggingEnabled())            {                LogEntry entry = new LogEntry();                //事件号                entry.EventId = 9007;                entry.Message =  "日志信息";                //严重等级                entry.Priority = 9;                entry.Severity = TraceEventType.Verbose;                entry.Categories.Add("种类");                logwriter.Write(entry);            }         }        ///         /// 写入普通消息日志        ///         public void WriteInfo()        {            LogEntry entry = new LogEntry();            entry.Severity = TraceEventType.Information;            logwriter.Write(entry);        }        ///         /// 写入可恢复错误日志        ///         public void WriteError()        {            LogEntry entry = new LogEntry();            entry.Severity = TraceEventType.Error;            logwriter.Write(entry);        }        ///         /// 写入错误或应用程序崩溃日志        ///         public void WriteCritical()        {            LogEntry entry = new LogEntry();            entry.Severity = TraceEventType.Critical;            logwriter.Write(entry);        }        #endregion    }}

转载于:https://my.oschina.net/violetmoon/blog/470837

你可能感兴趣的文章
移动社交广告价值显现,腾讯之后,陌陌开始捞金
查看>>
Producer和Consumer
查看>>
MySQL数据库优化法则总结
查看>>
ceph
查看>>
“android 推送”存在的问题
查看>>
设计一个算法,判断玩家是否赢了井字游戏
查看>>
Linux下*.tar.gz文件解压缩命令
查看>>
传统媒体、网络媒体的乐与悲!
查看>>
shell下操作快捷键
查看>>
Android流量统计TrafficStats类的使用(Android2.2后可用)
查看>>
Linux 命令用法
查看>>
我的友情链接
查看>>
Linux运维之linux下构建Cacti网络监控平台-清小小著作
查看>>
nohup命令
查看>>
陈松松:我是如何制定每一天的视频营销计划
查看>>
【我拼搏的2016】-Python进行时
查看>>
MySQL性能优化的最佳21条经验
查看>>
19.Swift中的闭包
查看>>
LI块级浮动margin或高度多出问题
查看>>
Android混淆打包
查看>>