NLog使用说明
NLog是一个基于.NET平台编写的类库,我们可以使用NLog在应用程序中添加极为完善的跟踪调试代码。
NLog允许我们自定义从跟踪消息的来源(source)到记录跟踪信息的目标(target)的规则(rules)。记录跟踪信息的目标(target)可以为如下几种形式:
- 文件
- 文本控制台
- 数据库
- 网络中的其它计算机(通过TCP或UDP)
- 基于MSMQ的消息队列
- Windows系统日志
第一步:安装NLog,通过Nuget程序控制器,下载并安装NLog。
注意:搜索NLog时,会出现两个。先安装NLog,然后安装NLog Configuration。然后会自动添加几个文件。如下图:
第二步:配置NLog.config文件。代码如下:
<?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"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
autoReload="true"
throwExceptions="false"
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
<variable name="myvar" value="myvalue"/>
<!-- BUG等级设置:Trace<<Debug<<Info<<Warn<<Error<<Fatal -->
<!-- 设置时间代码:${date:format=yyyy-MM-dd HH\:mm\:ss} -->
<targets>
<target xsi:type="Console" name="console" layout="[${date:format=yyyy-MM-dd HH\:mm\:ss}][${level}] ${message} ${exception}"/>
<target xsi:type="File" fileName="${date:format=yyyy-MM-dd}.txt" name="logfile"/>
</targets> <!-- 注意:minlevel:日志的最小等级;writeTo:指向对应的target;final:同等级下的规则,该规则是否是唯一的;-->
<rules>
<logger name="*" minlevel="Trace" writeTo="console" final="true"></logger>
<logger name="*" minlevel="Trace" writeTo="logfile"></logger>
</rules>
</nlog>
配置信息拓展:
Logger标签对,控制输出范围与水平
name属性:
指定哪些代码段要输出信息,例如:“<logger name="SomeNamespace.Component.*" …”,只输出SomeNamespace.Component域里面打印的信息。
minLevel属性:
指定输出等级,Logging 水平分为以下等级“Trace<<Debug<<Info<<Warn<<Error<<Fatal ”,如果我们选择Info值,则Trace和Debug等级的信息不会被输出。
writeTo属性:
指定使用那个“Target标签对”来输出信息
Final属性:
这个属性若设置为true,则被当前Logger标签对输出的消息类型,不再被下一个Logger标签对处理。
Target标签对,输出格式,输出到哪里
Name属性:
target标签对的名称
Type属性:
target的类型,比如target=”File”。还有“Database”,“Mail”,“Network”等类型。
Silverlight使用文件输出,需将项目设置为Out of browser模式
fileName属性:
若target类型为File,则可以指定输出文件名。
例:
fileName=”file.txt”,
fileName="${basedir}/App_Data/log.txt",
fileName="${basedir}/log.txt",
fileName ="${specialfolder:MyDocuments}/log.${shortdate}.txt"
fileName="${logger}.txt"
fileName="${shortdate}.txt"
fileName="${windows-identity:domain=false}.txt
fileName="${shortdate}/${windows-identity:domain=false}.txt"
如果是Silverlight项目可能不能指定输出文件到App_Data目录下。
Layout属性:
格式化输出日志信息。例:
layout="${date:format=HH\:mm\:ss}|${level}|${stacktrace}|${message}"
layout="[${date:format=yyyy-MM-ddHH\:mm\:ss}][${level}] ${message} ${exception}"
layout="${longdate}${callsite} ${level} ${message}"
address属性:
指定日志信息输出到哪个网络服务器,例:
<targetname="n1" xsi:type="Network"address="tcp://localhost:4001"/>
第三步:代码使用。
private static Logger logger = LogManager.GetCurrentClassLogger(); public static void Main(string[] args)
{
logger.Error("test1");
logger.Trace("写入到文件"); Console.ReadKey();
}
效果展示:
NLog使用说明的更多相关文章
- ABP .Net Core 日志组件集成使用NLog
一.说明 NLog介绍和使用说明官网:http://nlog-project.org/ NLog和Log4net对比:https://www.cnblogs.com/qinjin/p/5134982. ...
- ASP.NET Core学习之三 NLog日志
上一篇简单介绍了日志的使用方法,也仅仅是用来做下学习,更何况只能在console输出. NLog已是日志库的一员大佬,使用也简单方便,本文介绍的环境是居于.NET CORE 2.0 ,目前的版本也只有 ...
- ASP.NET MVC 与NLog的使用
NLog是一个.NET 下一个完善的日志工具,个人已经在项目中使用很久,与ELMAH相比,可能EAMAH更侧重 APS.NET MVC 包括调试路由,性能等方面,而NLog则更简洁. github: ...
- NLog写入Mongo日志配置
Web网站中引入了NLog日志,日志记录在Mongo数据库中,经过两天的简单学习,现简要记录说明下: 首先贴出NLog的学习地址: https://github.com/NLog/NLog/wiki/ ...
- Atitit.项目修改补丁打包工具 使用说明
Atitit.项目修改补丁打包工具 使用说明 1.1. 打包工具已经在群里面.打包工具.bat1 1.2. 使用方法:放在项目主目录下,执行即可1 1.3. 打包工具的原理以及要打包的项目列表1 1. ...
- Nlog配置实例
彩色Console target <?xml version="1.0" encoding="utf-8" ?> <nlog xmlns= ...
- NLog在Asp.Net MVC的实战应用
Asp.Net MVC FilterAttribute特性.读取xml反序列化.NLog实战系列文章 首先新建一个MVC project. 一.NLog的配置. 作者:Jarosław Kowalsk ...
- awk使用说明
原文地址:http://www.cnblogs.com/verrion/p/awk_usage.html Awk使用说明 运维必须掌握的三剑客工具:grep(文件内容过滤器),sed(数据流处理器), ...
- [转]C# 使用Nlog记录日志到数据库
本文转自:http://www.cnblogs.com/weixing/archive/2013/04/26/3044422.html 摘要]Nlog是一个很不错的.NET日志记录组件,它可以将日志输 ...
随机推荐
- 安装java memcached client到本地maven repository
由于目前java memcached client没有官方的maven repository可供使用,因此使用时需要手动将其安装到本地repository.java memcached client的 ...
- SPRING IN ACTION 第4版笔记-第八章Advanced Spring MVC-001- 配置SpringFlow(flow-executor、flow-registry、FlowHandlerMapping、FlowHandlerAdapter)
一. 1.Wiring a flow executor <flow:flow-executor id="flowExecutor" /> Although the fl ...
- 乐1/MACBOOK/ N1 Type-C接口新体验
经过在华强北电子市场排队一个小时,笔者顺利买到了期待已久的乐1,结合之前的NOKIA平板电脑N1,苹果全新MACBOOK,终于集齐了手机.平板.笔记本电脑三种TYPE-C接口设备(能兑换极品装备吗?^ ...
- Binary to Text (ASCII) Conversion
Binary to Text (ASCII) Conversion Description: Write a function that takes in a binary string and re ...
- bzoj1492
好题+神题,首先肯定是dp,我们设f[i]为到第i天能获得的最多的B卷(设获得的钱数亦可)由题目hint可知,要么全买要么全卖,我们有f[i]=max(maxmoney,f[j]*b[i]+f[j]* ...
- 转 脸书pop动画的五个步骤
http://blog.csdn.net/u013741809/article/details/38511741 5 Steps For Using Facebook Pop // 1. Pick ...
- mysql备份脚本
[root@AY130828161048465847Z ~]# vi mysqlbak.sh #!/bin/bash USERNAME=rootPASSWORD=mysqlDBNAME=test DA ...
- spring(7)--注解式控制器的数据验证、类型转换及格式化
7.1.简介 在编写可视化界面项目时,我们通常需要对数据进行类型转换.验证及格式化. 一.在Spring3之前,我们使用如下架构进行类型转换.验证及格式化: 流程: ①:类型转换:首先调用Proper ...
- Kettle汇总时参数
Kettle汇总时手动执行小时汇总命令: ./kitchen.sh -norep -file /usr/local/evqm/kettle/kettle_scripts/rpt_hour.kjb -p ...
- 【原】计算机Tools vs 学习资料
今天,给大家推荐一些比较使用的软件,主要从免费和好用两个角度考虑. 首先推荐一个网址"http://tool.oschina.net/",上面有非常好用的小工具,可以极大的方便我们 ...