nlog

.NET日志工具介绍

帅比萌擦擦* 提交于 2019-12-29 05:16:54
   最近项目需要一个日志工具来跟踪程序便于调试和测试,为此研究了一下.NET日志工具,本文介绍了一些主流的日志框架并进行了对比.发表出来与大家分享. 综述 所谓日志(这里指程序日志)就是用于记录程序执行过程中的信息,以便开发、测试和支持人员在调试或测试时利用这种技术来快速分析和定位程序中的问题和缺陷。日志通常将程序执行中的信息以文本的形式写入日志文件或将程序数据发送到监视器(比如说数据库、远端计算机、邮箱、网页等)。高级一些的日志工具还支持对一些复杂的数据结构、调用栈、线程等进行实时监控和记录。 大多数.NET的日志框架有着一些共同的概念和特性。根据作用来分主要有以下组件或概念:记录器(Logger)、监视器/目标(Monitor/Target)、包装器(Wrapper)、过滤器(Filter)、布局(Layout)、严重性级别(Severity)。 1.记录器:日志的对象,可以同时连接一个或多个不同的监视器,记录各种不同的消息和信息。 2.监视器:用于存储和显示日志消息的媒介,有多种存在形式。如一般的文本文件、数据库、网络、控制台、邮箱等。 3.包装器:用于制定日志记录的方式。如:同步/异步记录,(出错时)回滚记录。 4.过滤器:用于根据严重性级别来过滤和忽略某类消息,只记录特定级别的日志消息。 5.布局:用于格式化输出。定义输出项和输出格式。    6.严重性级别

NLog 配置

萝らか妹 提交于 2019-12-29 05:15:52
之前我介绍过如何使用 log4net 来记录日志,但最近喜欢上了另一个简单好用的日志框架 NLog 。 关于NLog和log4net的比较这里就不多讨论了,感兴趣的朋友可以参看 .NET日志工具介绍 和 log4net vs. Nlog 这两篇文章。本文主要介绍一下如何在项目中使用NLog。 在Nuget中安装NLog NLog可以直接使用Nuget安装:  PM > Install-Package Nlog 使用NLog NLog的使用方式基本上和其它的Log库差不多,分为Trace、Debug、Info、Error、Fatal五个等级 private static Logger logger = LogManager .GetCurrentClassLogger(); static void Main( string [] args) { logger.Trace( "Trace Message" ); logger.Debug( "Debug Message" ); logger.Info( "Info Message" ); logger.Error( "Error Message" ); logger.Fatal( "Fatal Message" ); } 不过它提供的方法倒是蛮多的,光Trace就有42种重载形式。虽然功能强大事件好事,但某种程度上也增加了学习成本。

Implementation and usage of logger wrapper for log4net

旧城冷巷雨未停 提交于 2019-12-28 18:11:55
问题 This question is related to Steven’s answer - here. He proposed a very good logger wrapper. I will paste his code below: public interface ILogger { void Log(LogEntry entry); } public static class LoggerExtensions { public static void Log(this ILogger logger, string message) { logger.Log(new LogEntry(LoggingEventType.Information, message, null)); } public static void Log(this ILogger logger, Exception exception) { logger.Log(new LogEntry(LoggingEventType.Error, exception.Message, exception));

Nlog日志组件简介

橙三吉。 提交于 2019-12-28 13:24:24
NLog简介   NLog是一个简单灵活的.NET日志记录类库,NLog的API非常类似于log4net,配置方式非常简单。支持多种形式输出日志:文本文件、系统日志、数据库、控制台、邮箱等 1.NLog简介 在nuget控制台输入安装nlog命令: Install-Package NLog.Config Nlog配置的方式 常用的有两种   1.直接在使用应用程序配置文件或者web的配置文件(app.config / web.config)   2.NLog.config 这个是比较好的一个形式(推荐) 配置文件中的主要标签是: targets和rules :   <targets /> - 定义日志的目标/输出,下级是<target>   <rules /> - 定义日志的路由规则,下级是<logger> 2.标签介绍 <nlog>标签   autoReload 修改配置文件后是否允许自动加载无须重启程序   throwExceptions 内部日志系统抛出异常(建议throwExceptions的值设为“false”,这样由于日志引发的问题不至于导致应用程序的崩溃。)   internalLogLevel 可选Trace|Debug|Info|Warn|Error|Fatal决定内部日志的级别 Off 关闭   internalLogFile

NLOG 日志

情到浓时终转凉″ 提交于 2019-12-28 13:24:09
一.NLog简要介绍: 1.NLog是一个简单灵活的.NET日志记录类库。通过使用NLog,我们可以在任何一种.NET语言中输出 带有上下文的(contextual information) 调试诊断信息,根据喜好配置其表现样式之后发送到一个或多个 输出目标(target) 中。 2.NLog的 API 非常类似于log4net,且配置方式非常简单。NLog使用 路由表(routing table) 进行配置,但log4net却使用层次性的appender配置,这样就让NLog的配置文件非常容易阅读,并便于今后维护。 3.NLog遵从BSD license,即允许商业应用且完全开放源代码。任何人都可以免费使用并对其进行测试,然后通过邮件列表反馈问题以及建议。 4.NLog支持 .NET 、 C/C++ 以及 COM interop API,因此我们的程序、组件、包括用C++/COM 编写的遗留模块都可以通过同一个路由引擎将信息发送至NLog中。 5.NLog的.NET API的过滤信息功能执行效率很高,这样我们就可以一直保留程序中的日志写入代码,然后由NLog在运行时将其根据需要过滤掉。在一个1.6G单CPU笔记本电脑上,NLog每秒钟可以过滤掉1.5亿条日志写入语句!加上 异步处理(asynchronous processing) 以及其他 包装程序(wrappers) 的支持

NLog日志系统入门学习

馋奶兔 提交于 2019-12-28 13:23:54
1.相关概念 2.入门示例 (1)新建一个控制台项目,添加NLog到项目中 说明:示例用的是vs2015,添加上图NLog和NLog.Config。我这面先添加NLog再添加NLog.Config文件时会报错,而直接添加NLog.Config时会自动把NLog也添加。 (2)修改NLog.Config的属性如下 (3)修改NLog.Config配置文件如下 <target name="console" xsi:type="ColoredConsole" layout="${date:format=HH\:mm\:ss}|${level}|${stacktrace}|${message}" /> <target name="file" xsi:type="File" fileName="${basedir}/logs/file.txt" layout="${stacktrace} ${message}" /> <rules> <!-- add your logging rules here --> <logger name="*" minlevel="Info" writeTo="console" /> <logger name="*" minlevel="Trace" writeTo="file" /> <!-- Write all events with minimal

NLog使用方法

↘锁芯ラ 提交于 2019-12-28 13:23:39
一、软件网站: http://www.nlog-project.org/ 下载: http://sourceforge.net/project/showfiles.php?group_id=116456 说明:如果是.Net 2.0使用, 请下载nlog-1.0-net-2.0.zip 里面的bin目录下有多个,c# 使用nlog.dll 文件:nlog.dll 大小:248K 版本:1.0.0.505 二、 WinForm下使用 添加nlog.dll的引用,然后在nlog.dll的文件夹下创建nlog.dll.nlog 内容如下: <?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 " > <targets> <target name="console" xsi:type="ColoredConsole" layout="${date:format=HH\:mm\:ss}|${level}|${stacktrace}|${message}"/> <target name="file" xsi:type="File"

NLog的介绍使用

守給你的承諾、 提交于 2019-12-28 13:23:31
NLog是什么 NLog是一个基于.NET平台编写的类库,我们可以使用NLog在应用程序中添加极为完善的跟踪调试代码。 NLog是一个简单灵活的.NET日志记录类库。通过使用NLog,我们可以在任何一种.NET语言中输出带有上下文的(contextual information)调试诊断信息,根据喜好配置其表现样式之后发送到一个或多个输出目标(target)中。 NLog的API非常类似于log4net,且配置方式非常简单。NLog使用路由表(routing table)进行配置,这样就让NLog的配置文件非常容易阅读,并便于今后维护。 NLog遵从BSD license,即允许商业应用且完全开放源代码。任何人都可以免费使用并对其进行测试,然后通过邮件列表反馈问题以及建议。 NLog支持.NET、C/C++以及COM interop API,因此我们的程序、组件、包括用C++/COM 编写的遗留模块都可以通过同一个路由引擎将信息发送至NLog中。 简单来说Nlog就是用来记录项目日志的组件 NLog日志输出目标 文件 比如TXT、Excel 文本控制台 Email 数据库 网络中的其它计算机(通过TCP或UDP) 基于MSMQ的消息队列 Windows系统日志 NLog使用 直接用NuGet安装就行了 简单的Demo <?xml version="1.0" encoding=

Nlog 日志框架简单教程

别来无恙 提交于 2019-12-28 13:23:18
安装 Nuget获取 配置寻找 会自动寻找在应用程序目录下的NLog.config(大小写敏感) 如何配置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"> <targets> <target xsi:type="File" name="debug1" fileName="..\..\Layout\CsvLayout.config"/> </targets> <rules> <logger name="*" level="Debug" writeTo="debug1" /> </rules> </nlog> 配置主要有两个节点 1 Target Type

NLog日志框架使用探究-1

给你一囗甜甜゛ 提交于 2019-12-28 13:23:05
目录 前言 为什么是NLog? 目的 配置 基本配置 日志等级 输出例子 目标 参数 规则 日志分发 日志收集 结语 参考文档 前言 日志是每个程序的基本模块。本文是为了探究如何通过NLog方便及记录日志并通过Log4View工具收集日志统一查看。 为什么是NLog? 下载量NLog和Log4Net差不多,这两个日志模块是.Net平台使用最多的两大日志模块。 Log4Net上次更新已经是17年3月 NLog更新的比较频繁,开发者比较活跃,有问题的话修复更及时。 NLog是适用于各种.net平台(包括.net standard)的灵活而免费的日志记录平台。通过NLog, 可以轻松地写入多个目标。(数据库、文件、控制台), 并动态更改日志记录配置。 NLog支持结构化和传统日志记录。NLog的特点: 高性能、易于使用、易于扩展和灵活配置。 目的 本文为了探究NLog的使用方式,以及如何通过NLog将日志统一收集查看并管理。 配置 NLog可以通过配置方式轻松的记录不同等级,不同结构的日志。 通过Nuget获取NLog库包 Install-Package NLog -Version 4.5.11 下载完后会自动在程序下加入默认的NLog配置 <?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog