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 条评论
登录 后参与评论

相关文章

ASP.NET MVC 6路由技术

在我们开始学习路由的自定义之前,先看一下MVC6较之于MVC5(在路由配置方面)有哪些变化。 ASP.NET MVC6将所有应用程序所必要的启动服务以及其所定义...

28750
来自专栏林德熙的博客

从以前的项目格式迁移到 VS2017 新项目格式 必须删除必须修改添加文件项目引用引用包删除多余文件输入注释多个框架使用条件判断迁移 WPF 项目

以前的项目格式使用的是 csproj 的格式,但是 .net core 支持使用 project.json 格式的项目文件,后来还是决定不使用这个格式。 VS2...

95720
来自专栏张善友的专栏

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

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

14910
来自专栏听雨堂

JS实现页面跳转

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

53760
来自专栏漫漫全栈路

.NET Core 实战笔记3 ASP.NET Core

期末告一段落,有一周的时间给我折腾折腾,那就继续dotNet Core吧,先列一下文章列表。 .NET Core 实战笔记1-介绍和安装 .NET Core ...

47740
来自专栏happyJared

Chocolatey,Windows下的包管理器

Chocolatey(中文译:巧克力味)是Windows平台下的一款包管理工具,类似于Linux平台的apt-get和yum。第一次接触到Chocolatey...

67530
来自专栏逸鹏说道

AutoMapper:Unmapped members were found.

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

46250
来自专栏c#开发者

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

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

52570
来自专栏张善友的专栏

结合Jexus + Kestrel 部署 asp.net core 生产环境

ASP.NET Core 是微软的全新的框架。这一框架的目标 ︰ 跨平台 针对云应用优化 解除 System.Web 的依赖。 获得下面三个方面的优势,你可以把...

29460
来自专栏张善友的专栏

log4net.SignalR - 日志即时发送客户端页面

在log4net的配置中,appender是最重要的部分,一般来说,每一种appender都表示一种日志的输出介质,如日志文件、EvengLog、数据库、控制台...

23080

扫码关注云+社区

领取腾讯云代金券