最近研究了一下Enterprise Library4.0,在项目中做了点应用,这里和大家分享一下: Enterprise Library Logging应用程序块为用户提供了简单实现日志记录的功能,开发人员可以使用日志模块方便的将日志记录到windows事件日志、email,数据库,消息队列,文本等持久化设备中。我们这里列举一下将日志信息存储于数据库中的做法。首先我们要在Enterprise Library Configuration工具中配置日志模块
Category Sources节点中设置日志持久化到哪种设备中,比如Database节点中设置ReferencedTraceListener指向Trace Listeners节点中设置的Database Trace Listener,我们在这里设置他的数据库实例如下图。同时在这里还要配置写日志的存储过程名,这些存储过程和数据库是通过\EntLib4Src\Blocks\Logging\Src\DatabaseTraceListener\Scripts文件夹下LoggingDatabase.sql中的sql语句录入数据库中的,有兴趣的朋友可以研究一下。 下面的工作就容易了,首先我们要实例化一个LogEntry类用于存放日志体: LogEntry logEntry = new LogEntry(); logEntry.Message = ex.Message; logEntry.Message +=Environment.NewLine + "StackTrace:" + ex.StackTrace; logEntry.Message += Environment.NewLine + "TargetSite:" + ex.TargetSite; logEntry.TimeStamp = DateTime.Now; logEntry.Categories.Clear(); logEntry.Categories.Add("Database"); Logger.Write(logEntry); 这里如果添加多个Categories,日志将写入多个持久化设备中 |