Enterprise Library6.0之日志模块
The Logging Application Block(日志模块)
优点
l 监控常规的应用程序的性能,并提供信息。
l 提供有关应用程序的重要信息
l 提供性能相对比较高的日志解决方案,不需要你关心日志IO性能操作
l 日志写进程会自动收集一些上下文信息,如时间、应用程序域、机器名和进程ID等
l 可以将日志记录到windows事件日志、数据库、文本文件或者xml文件中
l 日志信息也可以通过Windows消息队列的路由分发到电子邮件
日志模块的原理及常见对象
标识引起跟踪事件的类型
Critical=1:错误或应用程序崩溃
Error=2:可恢复的错误
Warning=4:非关键性错误
Information=8:信息消息
Verbose=16:调试跟踪
应用日志
引用组件到你项目中
EnterpriseLibrary.Logging(必选组件)
EnterpriseLibrary.Logging.Database(发送日志记录到数据库中)
EnterpriseLibrary.Logging.Service(提供远程日志记录服务)
配置日志模块
创建写日志进程
如果是使用配置工具配置的话,在后台代码就只需要以下代码创建写日志进程(有问题)
LogWriterFactory logWriterFactory = new LogWriterFactory();
LogWriter logWriter = logWriterFactory.Create();
不使用工具,后台代码配置,则创建写日志进程
TextFormatter brie = new TextFormatter();
var flatFileTraceListener = new FlatFileTraceListener(path, headerstyle, footerstyle, brie);
config = new LoggingConfiguration();
config.AddLogSource("mylog", SourceLevels.All, true).AddTraceListener(flatFileTraceListener);
logwriter = new LogWriter(config);
创建日志对象
LogEntry entry = new LogEntry();
//事件号
entry.EventId = 9007;
entry.Message = "日志信息";
//严重等级
entry.Priority = 9;
entry.Severity = TraceEventType.Verbose;
entry.Categories.Add("种类");
将日志对象用日志进程写入
logwriter.Write(entry);