本文转载: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();
}
}

在程序中使用就特别简单了,和大多数日志工具类似。

官方网站:http://nlog-project.org/download/

配置文件的使用:
http://www.cnblogs.com/fuchongjundream/p/3936431.html

NLog使用很方便,可以使用单独的配置文件,分别在winform 、console、windows service、 web 上使用。无需在app.config、和web.config配置文件中配置。

本文测试的DEMO地址:http://files.cnblogs.com/zfanlong1314/NlogConfig.zip

 
 

日志管理-NLog日志框架简写用法的更多相关文章

  1. logging日志管理-将日志写入文件

    # -*- coding: cp936 -*- # test.py #http://blog.chinaunix.net/uid-27571599-id-3492860.html #logging日志 ...

  2. logging日志管理--将日志打印在屏幕上

    # -*- coding: cp936 -*- # test.py #http://blog.chinaunix.net/uid-27571599-id-3492860.html #logging日志 ...

  3. mysql日志管理#慢日志详解

    MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中 long_q ...

  4. 日志管理-rsyslog日志服务器及loganalyzer

    一,日志基础 日志:记录时间,地点,任务,事件 格式:日期时间 主机 进程[pid]: 事件内容 rsyslog 特性: 多线程,UDP, TCP, SSL, TLS, RELP,MySQL, PGS ...

  5. node日志管理 / pm2-logrotate-ext日志管理

    本篇文章说的是,如何使用pm2管理node项目的日志输出(切割和备份),文章步骤是基于已经安装了pm2的前提下,没有的,请自行百度. 第一步:需要登录公司服务器,查看一下目前服务器保存的所有日志(用于 ...

  6. NLog日志框架简写用法

    本文转载:http://www.blogjava.net/qiyadeng/archive/2013/02/27/395799.html 在.net中也有非常多的日志工具,今天介绍下NLog.NLog ...

  7. mysql日志管理#二进制日志详解

    查看MySQL二进制文件中的内容有两种方式 mysqlbinlog SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row ...

  8. Linux学习之日志管理(二十一)

    Linux学习之日志管理 目录 日志管理 日志服务 rsyslogd的新特点 启动日志服务 常见日志的作用 日志文件的一般格式 rsyslogd日志服务 /etc/rsyslog.conf配置文件 服 ...

  9. spring+mybatis基于 AOP实现业务日志管理

    最近在项目上用到了操作日志的相关,之前的解决方案就是自己写一个日志project,然后统一调用日志接口即可,这样方便自定义定制,因为有很多设备控制之类的都是需要确认一下的,但是,对数据的操作,比如,增 ...

随机推荐

  1. UVA11361 Investigating Div-Sum Property(数位dp)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud 题目意思:问在区间[A,B]有多少个数不仅满足自身是k的倍数,而且其各个位数上的和 ...

  2. redis学习研究--基础知识

    以下内容多为摘抄转载: 1. Redis 是什么 Redis是一个开源的使用ANSI C语言编写的基于内存的key/value存储系统,与memcache类似,但它支持的value类型更多,包括:字符 ...

  3. 自动运行native2ascii 命令的Bat文件的编写

        使用eclipse开发,对于.properties文件的国际化,如果不使用插件对文件进行转码,则需要使用native2ascii命令自行对文件进行转码.     为了更方面的执行此操作,我将该 ...

  4. [C++程序设计]全局,局部变量

    在函数声明中出现的参数名,其作用范围只在 本行的括号内.实际上,编译系统对函数声明中的 变量名是忽略的,即使在调用函数时也没有为它们 分配存储单元.例如 int max(int a,int b); ┆ ...

  5. php get_ini 和 get_cfg_var 的区别

    get_ini 和 get_cfg_var 都是用来获取 php 配置信息的函数. 区别是 get_ini 是用来获取当前运行的配置信息,get_cfg_var 是用来获取配置文件(php.ini)的 ...

  6. 1005 Jugs

    辗转相减,新手入门题.两个容量的灌水题,无所谓最优解. #include<stdio.h> int main(){ int A,B,T,sA,sB; ){ sA=sB=; ){ ){ pr ...

  7. jQuery之动画效果

    1.show()显示效果 语法:show(speed,callback) Number/String,Function speend为动画执行时间,单位为毫秒.也可以为slow"," ...

  8. jQuery的入门与简介《思维导图》

    <初学者请各位高手指点指点> jQuery是继Prototype之后又一个优秀的JavaScript库,在JavaScript基础上我知道了jQuery拥有强大的选择器, 出色的DOM操作 ...

  9. Jedis超时时间设置梳理

    JedisConnectionException: Unexpected end of stream #932 Repeatable exception and for the life of me, ...

  10. Cocos2d-x 2.1.5 简单动画

    Cocos2d新版本函数更改了一些. 下面的代码可以产生一个简单动画. //第一步:生成动画需要的数据 CCTexture2D *texture=CCTextureCache::sharedTextu ...