前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NLog日志框架简写用法

NLog日志框架简写用法

作者头像
跟着阿笨一起玩NET
发布2018-09-19 11:14:16
1K0
发布2018-09-19 11:14:16
举报
文章被收录于专栏:跟着阿笨一起玩NET

本文转载: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,并选择添加(如图)。

vs add new item
vs add new item

(说明:有可能不像官网上说的在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)

代码语言:javascript
复制
 <target name="debugger" xsi:type="Debugger" layout="${logger}::${message}" />

B)以文件形式输出。

代码语言:javascript
复制
<target name="file" xsi:type="File" maxArchiveFiles="30"

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

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

            keepFileOpen="false" />

完整的配置文件例子:

代码语言:javascript
复制
<?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

代码语言:javascript
复制
在程序中使用就特别简单了,和大多数日志工具类似。
using NLog;
namespace MyNamespace
{
 public class MyClass
  {
 private static Logger logger = LogManager.GetCurrentClassLogger();
  }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014-04-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档