NLog日志框架简写用法

本文转载:http://www.blogjava.net/qiyadeng/archive/2013/02/27/395799.html

在.net中也有非常多的日志工具,今天介绍下NLog。NLog特别好的地方就是和Vs(Visual Studio)开发环境的集成。

只需下载(下载地址)安装包,安装之后NLog就会在VS的新建项中增加很多选项,并且在编辑NLog配置文件时也会提供智能提示和校验。

NLog工作主要依赖的是两个文件一个是NLog.dll,另外一个是NLog.config,解下来演示下如何引入和进行配置

1.在你的项目中加入NLog。右击项目,选择添加新项目,选择Empty NLog Configuration,并选择添加(如图)。

(说明:有可能不像官网上说的在NLog的目录下面,在ASP.net Web项目中,会在VB的目录中。)

在非Asp.net项目中,记得把NLog.config文件复制到输出目录(右击NLog.config文件属性)。

2.编辑配置文件NLog.config.

关于配置文件如何编辑有大量的篇幅(https://github.com/nlog/nlog/wiki/Configuration-file),我们这里介绍两种常用的场景。

A)在Vs的输出窗口输出日志,关于这些变量的说明${},请参看文档Configuration Reference。(https://github.com/nlog/nlog/wiki)

 <target name="debugger" xsi:type="Debugger" layout="${logger}::${message}" />

B)以文件形式输出。

<target name="file" xsi:type="File" maxArchiveFiles="30"

            layout="${longdate} ${logger} ${message}"

            fileName="${basedir}/logs/log${shortdate}.txt"

            keepFileOpen="false" />

完整的配置文件例子:

<?xml version="1.0" encoding="utf-8" ?>

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"

      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  throwExceptions="true" internalLogFile="d:\internal_log_file.txt" internalLogLevel="Trace" internalLogToConsole="true">

 <targets>

 <target name="debugger" xsi:type="Debugger" layout="${logger}::${message}" />

 

 <target name="file" xsi:type="File" maxArchiveFiles="30"

            layout="${longdate} ${logger} ${message}"

            fileName="${basedir}/logs/log${shortdate}.txt"

            keepFileOpen="false" />

 </targets>

 

 <rules>

 <logger name="*" minlevel="Trace" writeTo="debugger" />

 <logger name="*" minlevel="Trace" writeTo="file" />

 </rules>

</nlog>

3.在程序中使用NLog

在程序中使用就特别简单了,和大多数日志工具类似。
using NLog;
namespace MyNamespace
{
 public class MyClass
  {
 private static Logger logger = LogManager.GetCurrentClassLogger();
  }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏c#开发者

Silverlight与数据库的三种互操作[源代码]

Silverlight与数据库的三种互操作 简介 本章节提供Silverlight与后台数据库的三种技术实现基本的互操作(Silverlinght Inte...

4907
来自专栏施炯的IoT开发专栏

How-to: 利用Visual Studio升级Windows Phone 7工程

        自从Windows Phone SDK 7.1 RTM发布以后,我们在Visual Studio 2010 Express for Window...

2136
来自专栏Youngxj

Xposed框架怎么用?六步教您安装Xposed框架

6744
来自专栏跟着阿笨一起玩NET

浅谈如何在C#Winform程序中正确使用登录窗体

看到很多朋友在CSDN中发帖放分求“如何实现登录验证正确后弹出主窗体”的问题。关于这个问题的实现方法,一般很多人都是使用在登录窗体点击“登录”按钮后,通过...

1191
来自专栏黑泽君的专栏

最新版Sublime Text Build 3156 x64 的下载 + 注册码 + Install Package Control + 汉化教程

神器 Sublime Text 最近开始更新到开发版本 Build 3156,本身英语不是太6,汉化党自然各种百度汉化教程,网上不是一堆绿色汉化包,就是让你下载...

2472
来自专栏逸鹏说道

AutoMapper:Unmapped members were found.

异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 应用场景:ViewModel==>Mode...

4225
来自专栏黑泽君的专栏

教你如何解决Sublime Text 3使用中出现的中文乱码问题

Sublime Text 3 是一个非常不错的源代码及文本编辑器,但是不支持GB2312和GBK编码在很多情况下会非常麻烦。

7473
来自专栏张善友的专栏

PEACHPIE 0.9.11 版本发布,可以上生产了

PeachPie在官方博客(https://www.peachpie.io/2018/10/release-0911-visual-studio.html)发布...

1301
来自专栏hbbliyong

混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该...

今天在把以前写的代码生成工具从原来的.NET3.5升级到.NET4.0,同时准备进一步完善,将程序集都更新后,一运行程序在一处方法调用时报出了一个异常: 混合模...

38310
来自专栏听雨堂

JS实现页面跳转

框架中,处理完后,要刷新左页面,同时本页面也要跳转到另一个页面。刷新用 <body onload="parent.leftFrame.location.rel...

3526

扫码关注云+社区

领取腾讯云代金券