博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NHibernate初学者指南(12):日志
阅读量:7097 次
发布时间:2019-06-28

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

几乎所有的程序都需要日志记录功能。目前为止,已经存在很多提供日志记录功能的框架,我们没必要自己实现,只需要使用它们中的一个即可。.NET中最知名和成熟的日志记录框架是Log4Net。这是一个开源框架,由NHibernate使用。

为程序添加日志记录

在这个小练习中,我们将创建一个实例程序并配置其使用Log4Net日志记录框架,然后创建一些基本的日志记录信息。

1. 打开Visual Studio,创建一个控制台应用程序:LoggingSample。

2. 添加对log4net.dll程序集的引用。

3. 右击LoggingSample项目,选择属性,在Application选项卡中,设置Target framework为.NET Framework 4。

4. 为项目添加一个配置文件App.config,如果已经存在了,就不用添加了。在配置文件中配置应用程序通过定义log4net节使用Log4Net,代码如下:

上面的代码中定义了一个log4net节。conversionPattern描述日志输出应如何格式化,appender是告诉Log4Net应该使用哪个appender,level是定义我们想启用的输出级别。该级别从低到高是DEBUG<INFO<WARN<ERROR<FATALNONE。

5. 在Program类中,为该类文件添加XmlConfigurator特性,注意添加到命名空间上面:

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

7. 在Program类中,添加并初始化一个类型为ILog的静态类级别变量,如下面的代码所示:

private static readonly ILog log = LogManager.GetLogger(typeof(Program));

8. 使用logger产生一些不同级别的的日志信息。代码如下:

static void Main(string[] args){    log.Debug("This is a Debug message.");    log.Info("This is a Info message.");    log.Warn("This is a Warn message.");    log.Error("This is a Error message.");    log.Fatal("This is a Fatal message.");    Console.Write("\r\nHit enter to exit:");    Console.ReadLine();}

9. 运行程序,结果如下图所示:

10. 在App.config中,修改日志记录级别为WARN,再次运行程序,如下图所示:

在NHibernate中启用日志记录

如前面所述,NHibernate使用Log4Net生成日志信息。现在我们已经对Log4Net的相关知识有了一定理解以及如何配置它们,根据程序需求我们可以使用这些知识为NHibernate设置日志记录。

1. 打开上一篇的OrderingSystem解决方案。

2. 在OrderingSystem.Tests中添加对log4net.dll的引用。

3. 为OrderingSystem.Tests添加一个App.config配置文件,代码如下所示:

4. 打开entity_mapping_specs类,添加代码为单元测试初始化日志记录,如下所示:

protected override void BeforeAllTests(){    base.BeforeAllTests();    log4net.Config.XmlConfigurator.Configure();}

5. 运行测试,结果如下图所示:

6. 这是全部的信息,但是我们想减少它。NHibernate定义了两个logger:NHibernate和NHibernate.SQL。我们可以分别配置这两个logger。在App.config文件中<root>标签前边添加如下代码:

7. 修改之后,再次运行测试,结果如下图所示:

转载地址:http://arxql.baihongyu.com/

你可能感兴趣的文章
[C++基础]048_获取数据类型
查看>>
leetcode-Second Highest Salary
查看>>
【JavaScript】——原生Ajax
查看>>
java_包含抽象方法的枚举类
查看>>
sqlserver全文检索
查看>>
C# 语言规范_版本5.0 (第13章 接口)
查看>>
静态库 调试版本 和发布版本
查看>>
Nginx安装及使用
查看>>
php---静态变量缓存
查看>>
UVa111
查看>>
css points
查看>>
对于后台特殊功能问题思路
查看>>
进阶第七课 Python模块之re
查看>>
课堂练习
查看>>
Android 上的浏览器
查看>>
微信小程序获取用户手机号,服务器解码demo
查看>>
Mac常用软件大全, 6-18特惠 ,限时降价,需要的看看吧
查看>>
Netty实践:ChannelInboundHandlerAdapter与ChannelOutboundHandlerAdapter
查看>>
Go语言学习笔记四: 运算符
查看>>
windows mongodb最常用命令简单归纳
查看>>