nlog

ASP.NET Core ---日志

我只是一个虾纸丫 提交于 2020-04-24 22:53:53
一、日志记录: 1、日志的作用: 程序中记录日志一般有两个目的,故障定位和显示程序运行状态。好的日志记录方式可以提供足够多定位问题的依据。 2、日志的等级: 有良好工作习惯的人,工作的时候会将领导交待下来的工作分为:紧急重要、重要不紧急、紧急不重要、不紧急不重要等;同样 ASP.NET Core 定义了以下日志级别(按严重性从低到高排列)。 每次写入日志时都需指定其 LogLevel。 日志级别指示严重性或重要程度。 例如,如果方法正常结束则写入 Information 日志,如果方法返回 404 返回代码则写入 Warning 日志,如果捕获未知异常则写入 Error 日志。 可以使用日志级别控制写入到特定存储介质或显示窗口的日志输出量。 例如在生产中,可将所有 Information 及以下级别的日志放在卷数据存储,将所有 Warning 及以上级别的日志放在值数据存储。 在开发期间,通常要将严重性为 Warning 或以上级别的日志发送到控制台。 需要进行故障排除时,可添加 Debug 级别。 Trace = 0 表示仅对于开发人员调试问题有价值的信息。 这些消息可能包含敏感应用程序数据,因此不得在生产环境中启用它们。 默认情况下禁用。 示例:Credentials: {"User":"someuser", "Password":"P@ssword"} Debug = 1

asp.net core 使用NLog记录日志到txt文件

和自甴很熟 提交于 2020-04-24 22:53:40
一、使用VisualStudioCode创建一个 webapi项目 (也可以是mvc等)、一个 类库 (用于封装记录日志方法,当然如果使用依赖注入到控制台项目,就不需要此类库了)。 二、在 类库 中添加 NLog、NLog.Web.AspNetCore 引用(NLog.Web.AspNetCore 是为 ASP.NET Core 添加了对于 NLog 的平台支持), webapi项目 添加对该类库的引用,这样控制台就无需添加nlog的引用了。 三、在 类库 中自定义类,简单封装记录日志方法,代码如下: using System; using Microsoft.Extensions.Logging; using NLog; namespace common { public class NLogHelper { // 每创建一个Logger都会有一定的性能损耗,所以定义静态变量 private static Logger nLogger = LogManager.GetCurrentClassLogger(); public static void Info( string msg) { nLogger.Info(msg); } public static void Error( string msg, Exception ex = null ) { if (ex == null

ASP.NET Core搭建多层网站架构【7-使用NLog日志记录器】

本小妞迷上赌 提交于 2020-04-24 22:53:26
2020/01/29, ASP.NET Core 3.1, VS2019, NLog.Web.AspNetCore 4.9.0 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构【7-使用NLog日志记录器】 NLog日志记录器的写入数据库、写入文件、彩色控制台,按等级过滤日志等功能 文章目录 此分支项目代码 本章节介绍了NLog日志记录器的写入数据库、写入文件、彩色控制台,按等级过滤日志等功能,之前写过 ASP.NET Core中使用NLog记录日志 ,仅仅是写入数据库和文件,也没有按等级过滤日志 添加包引用 向 MS.WebCore 类库添加以下包引用: <ItemGroup> <PackageReference Include="NLog.Web.AspNetCore" Version="4.9.0" /> </ItemGroup> 上一章节中已经添加过,这里再次提示下,已经添加过的不需要重复添加 NLog.Web.AspNetCore 包中已经包含 NLog 包,所以只需要这一个包即可 向 MS.WebApi 应用程序添加以下包引用: <ItemGroup> <PackageReference Include="MySql.Data" Version="8.0.19" /> </ItemGroup> MySql.Data

NLog写入Mongo日志配置

蹲街弑〆低调 提交于 2020-04-24 21:15:33
Web网站中引入了NLog日志,日志记录在Mongo数据库中,经过两天的简单学习,现简要记录说明下: 首先贴出NLog的学习地址: https://github.com/NLog/NLog/wiki/Tutorial ,使用的NLog版本为:4.5+ 以及此次项目中的NLog配置文档 :(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 " > <extensions> <add assembly= " NLog.Mongo " /> <add assembly= " NLog.Web

asp.net core 使用 NLog日志

那年仲夏 提交于 2020-04-24 21:15:11
NLog是一个配置灵活的日志记录类库,拥有输出日志到文件、存储入库、发送到udp地址的高级功能 1 添加 nlog nuget包 Nlog和NLog.Web.AspNetCore 安装完成后 2 在站点根目录下添加配置文件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" autoReload="true" internalLogLevel="Warn" internalLogFile="internal-nlog.txt"> <targets> <target xsi:type="File" name="file" fileName="nlog-all-${shortdate}.log" layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" /> <target xsi:type="File" name="exception" fileName="nlog-exception-${shortdate}.log

NLog日志框架使用探究-2

北城余情 提交于 2020-04-24 21:00:04
目录 前言 自定义参数 日志输出方式 文件 网络传输 数据库 科学使用 参考文档 前言 在一年前,我写过一篇关于NLog入门文章 《NLog日志框架使用探究-1》 ,文章简单的介绍了Nlog的基本使用以及如何使用Log4View2工具配合统一收集日志查看。本篇文章会记录一些NLog常用的用法。 自定义参数 有时候我们需要根据我们的业务特征自定义一些参数。比如有个唯一的Id。这时候我们可以自定义参数,将Id提取出来,而不是放到日志内容中,这样可以方便检索。 在 EventProperties Layout Renderer 文档中,支持自定义EventPropertie动态的渲染到Layout中。 Nlog已经有一些自定义的参数了,如 ${counter} 、 ${longdate} 、 ${message:format=message} 等。 自定义的参数使用格式为 ${event-properties:item=String:culture=String:format=String} 。 官方示例如下,代码中定义了四种Property ... Logger logger = LogManager.GetCurrentClassLogger(); LogEventInfo theEvent = new LogEventInfo(LogLevel.Debug, "" , "Pass

数据结构与算法之美_27_递归树:如何借助树来求解递归算法的时间复杂度?

不羁岁月 提交于 2020-04-24 20:05:09
递归树是树这种数据结构的一种特殊应用。 在讲排序章节时,我们讲过如何利用递推公式来求解归并排序、快速排序的时间复杂度,但是有些情况,比如快排的平均时间复杂度分析,用递推公式的话,会涉及非常复杂的数据推导。 除了用递推公式这种比较复杂的分析方法,还有更简单的方法,借助递归树来分析递归算法的时间复杂度。 递归树与时间复杂度分析 递归的思想就是,将大问题分解为小问题来求解,然后再将小问题分解为小小问题。这样一层一层地分解,直到问题的数据规模被分解得足够小,不用继续递归分解为止。 我们把这个一层一层的分解过程画成图,它其实就是一棵树。我们给这棵树起一个名字,叫做递归树。下面的图示一棵斐波那契数列的递归树,节点里的数字表示数据的规模,一个节点的求解可以分解为左右子节点两个问题的求解。 归并排序算法它的递归实心代码非常简洁,我们借助归并排序来看看,如何用递归树,来分析递归代码的时间复杂度。 归并排序每次会将数据规模一分为二,画成递归树就是下面这个样子: 每次分解都是一分为二,所以代价很低,我们把时间上的消耗记作常量 1。归并排序算法中比较耗时的是归并操作,也就是把两个子数组合并为大数组。从图中我们可以看出,每一层归并操作消耗的时间总和是一样的,跟要排列的数据规模有关。我们把每一层归并排序操作消耗的时间记作 n。 这棵树的高度是 h,用高度乘以每一层的时间消耗 n,就是总的时间复杂度 O(n *

C# MVC 全局错误Application_Error中处理(包括Ajax请求)

偶尔善良 提交于 2020-04-24 13:03:07
在MVC的Global.asax Application_Error 中处理全局错误。 如果在未到创建请求对象时报错,此时 Context.Handler == null 。 判断为Ajax请求时,我们返回Json对象字符串。不是Ajax请求时,转到错误显示页面。 /// <summary> /// 全局错误 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Application_Error( object sender, EventArgs e) { Exception ex = Server.GetLastError(); LogHelper.Error(ex); // 记录错误日志(NLog 挺好用的(* ̄︶ ̄)) if (Context.Handler == null ) { return ; } if ( new HttpRequestWrapper(Request).IsAjaxRequest()) { Response.Clear(); Response.ContentType = " application/json; charset=utf-8 " ; Response.Write( " {\"state\":\"0\",\

NLog日志框架使用探究-1

有些话、适合烂在心里 提交于 2020-04-23 01:47:33
目录 前言 为什么是NLog? 目的 配置 基本配置 日志等级 输出例子 目标 文件输出 Json格式保存 多目标 参数 规则 日志分发 日志收集 结语 参考文档 前言 日志是每个程序的基本模块。本文是为了探究如何通过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

Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架

蓝咒 提交于 2020-04-22 07:19:18
Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Net Core 2.0 项目实战(3)NCMVC角色权限管理前端UI预览及下载 Asp.Net Core 2.0 项目实战(4)ADO.NET操作数据库封装、 EF Core操作及实例 Asp.Net Core 2.0 项目实战(5)Memcached踩坑,基于EnyimMemcachedCore整理MemcachedHelper帮助类。 Asp.Net Core 2.0 项目实战(6)Redis配置、封装帮助类RedisHelper及使用实例 Asp.Net Core 2.0 项目实战(7)MD5加密、AES&DES对称加解密 Asp.Net Core 2.0 项目实战(8)Core下缓存操作、序列化操作、JSON操作等Helper集合类 Asp.Net Core 2.0 项目实战(9) 日志记录,基于Nlog或Microsoft.Extensions.Logging的实现及调用实例 Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录 Asp.Net Core 2.0 项目实战(11)