nlog

NLog日志框架简写用法

我只是一个虾纸丫 提交于 2019-12-28 13:22:52
本文转载: 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

日志框架 NLog

こ雲淡風輕ζ 提交于 2019-12-28 13:22:40
这里按老规矩先进行和其它产品进行比较: 目前在.net平台存在两个比较老牌的日志框架分别为Log4net和NLog。 我们进行对这两种框架进行比较下 Log4net Log4net是一个老牌的日志框架,它可以实现日志多目标输出,输出到控制台、文件、数据库、系统事件、Email等,几乎无所不能。它可以通过配置让日志系统实时生效,比如说在服务运行的过程中修改配置改变输出目标,改变日志等级等,均不用重启程序。存在的缺点就是配置繁琐,基本上不查资料我是配置不出来的。 NLog NLog是和Log4net差不多的日志框架,属于新兴的日志框架。我们从它们的支持和性能方面来比较下。 借鉴博客园大佬们测试的结果 我原先差点就信了,后来作者又在2017年9月1日发出以下内容。 以上性能测试不再有效,根据网友反馈,由于输出内容的略有差异导致上面性能测试出现不公平的情况,log4Net在输出时可能会有更多的计算量。在优化测试代码情况下,仅让日志框架打印日志内容,其余的包括时间、日志等级、日志类名一律不打印,使用最新版Dll,两个框架性能相差无几。 毕竟是老牌子的日志框架,居然还输给新人啦。 但从更新速度来说,Nlog一直处于持续更新中,支持的也比较多。所以我们还是在这里讲下。 先用nuget 加载下NLog 加载后我们来看下项目里面多了些神马? 日志的配置(摘抄) 通过在启动的时候对一些常用目录的扫描

.net core使用NLog记录

时光总嘲笑我的痴心妄想 提交于 2019-12-28 13:22:20
首先使用Nugut安装NLog, NLog.Extensions.Logging,using NLog.Web,并且加上配置文件 ”nlog.config“,配置文件内容网上都可以百度的到。这是我自己的: 创建表: CREATE TABLE `sys_log` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `Account` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `ActionType` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `Level` varchar(5) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `Message` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL, `Date` datetime(0) NULL DEFAULT NULL, PRIMARY KEY (`Id`) USING BTREE, UNIQUE INDEX `Id_UNIQUE`(`Id`) USING

NLog简单配置与使用

怎甘沉沦 提交于 2019-12-28 13:22:11
对项目添加NLog 安装完成后,在项目里面会自动引入该引入的dll,并且会添加如下两个文件 NLog的配置主要是在这个config文件里。当然也可以将这个文件里面的nlog节点复制到项目配置文件App.config/Web.config里面。 NLog的配置文件主要有3个节点variable,targets,rules。 variable节点用于定义一些变量 <targets /> - 定义日志的目标/输出,下级是<target> <rules /> - 定义日志的路由规则,下级是<logger> 简单配置: <target name="console" xsi:type ="Console" /> 这个是用于在控制台中输出日志信息,一般不配置这个 下面这两个是用于在文本文件里面写入日志,fileName表示日志文件的路径,layout表示日志的格式。大括号里面的变量是系统预定义的, 当然也可以在variable节点里面自定义 <target name="info" xsi:type="File" fileName="${basedir}/Logs/Info/${shortdate}/info.txt" maxArchiveFiles="30" layout="${longdate} | ${level:uppercase=false} | ${message} $

NLog组件

左心房为你撑大大i 提交于 2019-12-28 13:22:00
接触.net项目的同志们都清楚,最初在项目中记录日志常用的是log4net日志组件,随着.net框架的不对优化升级,最近新流行的日志框架nlog,下面我就对nlog组件说说自己的认知: 下载 通过Nuget安装NLog 配置 在项目根目录下新建一个NLog.config( 在Nuget包中也可以下载NLog.config包,下载默认的位置是C盘,可能和你的工程不在同一个文件夹,不建议使用 ),基本目录结构:targets下面配置日志输出目标及相关参数,rules下面配置目标输出规则: 1 <?xml version="1.0" ?> 2 <nlog> 3 <targets> 4 <target></target> 5 <target></target> 6 </targets> 7 <rules> 8 <logger></logger> 9 <logger></logger> 10 </rules> 11 </nlog> NLog.config 记得在NLog.config的属性中设置 Copy to Output Directory: Copy always,作用是每次重新生成解决方案的时候都会将改配置文件复制的本地目录,否则本地找不到配置文件无法将日志记录到文件中: 完整的配置文件如下,日志配置文件尽量单独创建一个文件: 1 <?xml version="1.0"

.NET中使用NLog记录日志

老子叫甜甜 提交于 2019-12-27 05:34:07
以前小编记录日志使用的是 Log4Net ,虽然好用但和 NLog 比起来稍显复杂。下面小编就和大伙分享一下NLog的使用方式。 引用NLog.Config 在使用NLog之前,我们要首先添加对NLog.Config的引用,这里小编使用NuGet来添加引用,在安装NLog.Config时会同时安装NLog.Schema和NLog包。 输出日志 1 //实例化Logger对象,默认logger的名称是当前类的名称(包括类所在的命名空间名称) 2 Logger logger = LogManager.GetCurrentClassLogger(); 3 //两种记录日志的方式 4 logger.Log(LogLevel.Warn, "warning"); 5 //Info方法表示日志级别是Info 6 logger.Info(() => "record logger info"); 配置NLog 只有代码是不够的,要想让代码发挥作用还要进行相关配置。我们在添加NLog.Config包后,项目中会自动添加一个名为 NLog.config 的文件,针对NLog的配置就写在该文件中。 1 <targets> 2 <!--xsi:type表示日志的输出方式,File表示将日志写到文件中--> 3 <target name="logfile" xsi:type="File" fileName=

NHibernate + fluent mapping + NLog = No mapped documents found in assembly

落爺英雄遲暮 提交于 2019-12-25 18:44:09
问题 I've successfully used the CommonLogging layer in NHibernate to log its internal messages using NLog for previous projects which were using hbm.xml files. I'm now switching to fluent mapping, and the NHibernate logs now only contain one line: [Log entry: Warn] 2019-02-01 13:30:42.5537 No mapped documents found in assembly: <assembly name> I also tried to move the nhibernate-logger configuration directive from the App.config file to the code, just after configuring the mapping – and I'm

十大基本排序整理

我是研究僧i 提交于 2019-12-25 18:35:04
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 前言 忙里偷闲,顺手整理一下十大排排序算法。 冒泡排序 步骤说明: 比较相邻的2个元素,如果第一个比第二个大,就交换他们的位置。 对每一对相邻元素做同样的操作,从开始第一对到结尾的最后一对,这步骤完成后,最后的元素会是最大的元素。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 代码示例 public class BubbleSort extends BaseSort { public BubbleSort(int[] nums) { super(nums); } @Override public int[] sort() { for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr.length - 1; j++) { if (arr[j] > arr[j + 1]) { super.swap(arr, j, j + 1); } } } return arr; } } 选择排序 步骤说明: 1.首先在未排序的序列中找到最小/大的元素,存放到排序序列的起始位置。 2.再从剩余未排序元素中继续寻找最小/大的元素,然后放到已排序序列的末尾。 3.重复2步骤,知道所有元素均排序完毕. 代码示例 public class

ASP.NET Core 2.1 Using Nlog configuration as .NET MVC5

末鹿安然 提交于 2019-12-25 01:25:58
问题 I have this NLog configuration that was set up when my project was using .NET MVC 5. It used to log properly until I ported this code over to ASP.NET Core 2.1. Now it won't log anything at all. App.ClassLibrary > LoggingSettings.cs public class LoggingSettings { public static void ConfigureLogger() { var logConfig = new LoggingConfiguration(); var consoleTarget = new ColoredConsoleTarget(); consoleTarget.Layout = consoleTarget.Layout = @"${date:format=HH\:mm\:ss} ${logger} ${message} ${mdc

Nlog - email logs every x minutes

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-25 01:23:13
问题 Is it possible to email logs every x minutes using NLog?. if so, are there any examples. thanks. 回答1: I doubt It, If I was you I would only email Logs of Error or Fatal level, if you what to email at specific times, just create a simple timer that emails the ErrorLog.txt File every x minutes. 来源: https://stackoverflow.com/questions/6531287/nlog-email-logs-every-x-minutes