Nlog

参考http://www.cnblogs.com/dflying/

Nloghttp://www.nlog-project.org)是一个基于.NET平台编写的类库。可以使用Nlog在应用程序中添加极为完善的跟踪调试代码。

Nlog允许自定义跟踪消息的来源(source)到记录跟踪消息的目标(target)的规则(rules)。记录跟踪信息的目标(target)可以为如下几种形式:

1.   文件

2.   文本控制台

3.   Email

4.   数据库

5.   网络中的其它计算机

6.   基于MSMQ的消息队列

7.   Windows系统日志

每一条跟踪消息都可以自动带有上下文消息(contextual information,并将其发送给记录跟踪信息的目标。上下文信息包含如下内容:

1.   当前的日期和时间

2.   记录等级

3.   来源名称

4.   输出跟踪消息的方法的堆栈信息

5.   环境变量的值

6.   异常的详细信息

7.   计算机,进程和线程名称

每条跟踪信息都包含一个记录等级(log level)信息,用来描述该条信息的重要性。

1.   Trace-最常见的记录信息,一般用于普通输出;

2.   Debug-同样是记录信息,不过出现的频率要不Trace少一些,一般用来调试程序;

3.   Info-信息类型的消息

4.   Warn-警告信息,一般用于比较重要的场合

5.   Error-错误信息

6.   Fatal-致命异常信息。一般来讲,发生致命异常之后程序将无法继续执行。

更多的信息浏览页面http://nlog-project.org/home

以编程方式进行NLog的配置

步骤如下:

1.   创建一个LoggingConfiguration对象,用来保存配置信息

2.   至少创建一个输出目标对象

3.   设置该输出目标对象的属性

4.   设置LoggingRule对象,并将其添加到LoggingConfiguration对象的LoggingRules集合中

5.   启用该LoggingConfiguration对象(将LogManager.Configuration设定为该LoggingConfiguration对象即可)

 

下面的代码片段以编程方式创建了两个输出目标对象——支持颜色的控制台和文件,并将记录等级等于或高于Debug的日志信息发送至这两个输出目标:

6.  using NLog;

7.  using NLog.Targets;

8.  using NLog.Config;

9.  using NLog.Win32.Targets;

10.

11.class Example

12.{

13.    static void Main(string[] args)

14.    {

15.        // Step 1. Create configuration object

16.        

17.        LoggingConfiguration config = new LoggingConfiguration();

18.        

19.        // Step 2. Create targets and add them to the configuration

20.

21.        ColoredConsoleTarget consoleTarget = new ColoredConsoleTarget();

22.        config.AddTarget("console", consoleTarget);

23.        

24.        FileTarget fileTarget = new FileTarget();

25.        config.AddTarget("file", fileTarget);

26.        

27.        // Step 3. Set target properties

28.        

29.        consoleTarget.Layout = "${date:format=HH//:MM//:ss} ${logger} ${message}";

30.        fileTarget.FileName = "${basedir}/file.txt";

31.        fileTarget.Layout = "${message}";

32.        

33.        // Step 4. Define rules

34.        

35.        LoggingRule rule1 = new LoggingRule("*", LogLevel.Debug, consoleTarget);

36.        config.LoggingRules.Add(rule1);

37.

38.        LoggingRule rule2 = new LoggingRule("*", LogLevel.Debug, fileTarget);

39.        config.LoggingRules.Add(rule2);

40.        

41.        // Step 5. Activate the configuration

42.

43.        LogManager.Configuration = config;

44.        

45.        // Example usage

46.

47.        Logger logger = LogManager.GetLogger("Example");

48.        logger.Trace("trace log message");

49.        logger.Debug("debug log message");

50.        logger.Info("info log message");

51.        logger.Warn("warn log message");

52.        logger.Error("error log message");

53.        logger.Fatal("fatal log message");

54.    }

55.}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值