日志 日志作为我们程序记录的"黑匣子"是不论什么系统都会使用到的,比如我们经常使用的log4net就是第三方日志记录提供程序.NET 支持使用各种内置和第三方日志记录提供程序的日志记录 API,这篇文章主要介绍的是内置提供程序和API的使用. 日志优先级 如果你使用过log4net的话那么你对这个优先级应该不陌生,在日志记录过程中我们可以对记录的日志信息进行优先级划分,根据优先级我们可以配置只记录哪些优先级别的日志,同时日志信息也会标记这条信息的优先级.在我们查找问题的时候更好的筛选和…
返回总目录 本篇目录 服务端 获取Logger 基类中的Logger 配置 客户端 服务端 ABP使用的是Castle Windsor的日志记录设备.它可以和不同的日志类库一起工作,比如Log4Net,NLog,Serilog等等.Castle为所有的日志类库提供了一个公共的接口.因此,你完全独立于特定的日志记录类库,而且,如果需要的话,你可以轻松地改变应用程序的日志类库. Log4Net是.Net中最流行的日志类库之一.ABP模板中自带了经过合适配置的Log4Net.但是,只存在一行log4n…
1. ASP.NET Core 异常处理与日志记录 1.1. 异常处理 1.1.1. 异常产生的原因及处理 1.1.2. ASP.NET Core中启动开发人员异常页面 1.2. 日志记录 1.2.1. 日志作用 1.2.2. 日志等级 1.2.3. ASP.NET Core中的日志接口 1.2.4. 实践 1.3. 总结 1.1. 异常处理 1.1.1. 异常产生的原因及处理 异常是在编程时,一个意外的事件,如无效的输入或连接丢失,当程序执行破坏的指令流时就会出现这种情况.Exception是…
前言 Entity Framework Core 2.0更新也已经有一段时间了,园子里也有不少的文章.. 本文主要是浅析一下Entity Framework Core2.0的日志记录与动态查询条件 去年我写过一篇关于Entity Framework Core1.0和1.1的日志记录和事务的文章: 一步步学习EF Core(2.事务与日志) 时过境迁..EF Core也更新到2.0了.. 在日志记录方面,有了比较大的变化..所以我觉得还是需要学习学习 正文 一. Entity Framework…
本文目录 1. Net下日志记录 2. NLog的使用     2.1 添加nuget引用NLog.Web.AspNetCore     2.2 配置文件设置     2.3 依赖配置及调用     2.4 日志类型介绍     2.5 产生的日志文件 3. 基于Microsoft.Extensions.Logging封装     3.1 添加引用Microsoft.Extensions.Logging     3.2 实现我们的Logger     3.3 调用WLogger 4. 总结 1.…
缘起 哈喽我是不定期更新的日常,昨天群里小伙伴问到了记录日志,当然,以前我也挖过这个坑,后来一直没有来得及填上,也想着 swagger 一直又有错误信息展示的功能,就迟迟没有添加这个功能,不过昨天夜里想了想,还是需要增加上,旨在提高框架的高效性.不定期日常就直接上代码了,我有一个小想法,就是希望大家有好的想法,可以给我说,我会整理下,添加到框架里,并在文章头里写上 投稿作者:这里重点说明下,是参考群里小伙伴 Hello World! 的相关内容,并在他的基础上更新,添加了注入和全局,大家可以看看…
前言 每个项目都会需要使用到日志功能,这对于项目上线后 出现的bug异常,能及时定位和便于后期错误分析.那我们今天来看看在.NET Core中如何使用NLog日志. NLog 什么是NLog呢? NLog是一个基于.NET平台编写的类库,我们可以使用NLog在应用程序中添加极为完善的跟踪调试代码.NLog是一个简单灵活的.NET日志记录类库.通过使用NLog,我们可以在任何一种.NET语言中输出带有上下文的(contextual information)调试诊断信息,根据喜好配置其表现样式之后发…
[翻译] ASP.NET Core 利用 Docker.ElasticSearch.Kibana 来记录日志 原文: Logging with ElasticSearch, Kibana, ASP.NET Core and Docker 一步一步指导您使用 ElasticSearch, Kibana, ASP.NET Core 2.1 和 Docker 来记录日志 在本教程中,我将向您展示如何启动和运行 ElasticSearch,Kibana 和 ASP.NET Core 2.1 在开始之前,…
EF Core使用SQL调用返回其他类型的查询   假设你想要 SQL 本身编写,而不使用 LINQ. 需要运行 SQL 查询中返回实体对象之外的内容. 在 EF Core 中,执行该操作的另一种方法是编写 ADO.NET 代码,并从 EF 获取数据库连接. public async Task<ActionResult> About() { List<EnrollmentDateGroup> groups = new List<EnrollmentDateGroup>(…
1.前言 ASP.NET Core支持适用于各种内置和第三方日志记录提供应用程序的日志记录API.本文介绍了如何将日志记录API与内置提供应用程序一起使用. 2.添加日志提供程序 日志记录提供应用程序显示或存储日志.例如,控制台提供应用程序在控制台上显示日志,Azure Application Insights提供应用程序将这些日志存储在Azure Application Insights中.要添加提供应用程序,请在Program.cs中调用提供程序的Add{provider name}扩展方法…
1.中间件的概念 ASP.NET Core的处理流程是一个管道,中间件是组装到应用程序管道中用来处理请求和响应的组件. 每个中间件可以: 选择是否将请求传递给管道中的下一个组件. 可以在调用管道中的下一个组件之前和之后执行业务逻辑. 中间件是一个请求委托( public delegate Task RequestDelegate(HttpContext context) )的实例,所以中间件的本质就是一个方法,方法的参数是HttpContext,返回Task.传入的HttpContext参数包含…
Serilog简介 Serilog是.net中的诊断日志库,可以在所有的.net平台上面运行.Serilog支持结构化日志记录,对复杂.分布式.异步应用程序的支持非常出色.Serilog可以通过插件的方式把日志写入到各种终端,控制台.文本.Sqlserver.ElasticSearch,Serilog支持终端的列表:https://github.com/serilog/serilog/wiki/Provided-Sinks . Serilog日志写入SqlServer 一.Sink Logger…
目录 从 NuGet 安装 Serilog 在 Main函数 中配置 Serilog 在项目中使用 Serilog 进行日志输出 从 NuGet 安装 Serilog 核心的包是 Serilog 和 Serilog.AspNetCore. 常用的还有 Serilog.Sinks.Console 控制台日志打印 和 Serilog.Sinks.File 文件日志打印. PM> Install-Package Serilog PM> Install-Package Serilog.AspNetCo…
一.前言 在项目的开发维护阶段,有时候我们关注的问题不仅仅在于功能的实现,甚至需要关注系统发布上线后遇到的问题能否及时的查找并解决.所以我们需要有一个好的解决方案来及时的定位错误的根源并做出正确及时的修复,这样才能不影响系统正常的运行状态. 这个时候我们发现,其实在asp.net core中已经内置了日志系统,并提供了各种内置和第三方日志记录提供程序的日志记录接口,在进行应用开发中,可以进行统一配置,并且利用第三方日志框架相结合,更加有效的实现日志记录.所以在这个系列中,主要是对内置日志记录系统…
一.前言 在上一篇中,我们已经了解了内置系统的默认配置和自定义配置的方式,在学习了配置的基础上,我们进一步的对日志在程序中是如何使用的深入了解学习.所以在这一篇中,主要是对日志记录的核心机制进行学习说明. 二.说明 在上一篇中,我们留下了两个问题 日志记录的输出可以在哪里查看?而又由什么实现决定的呢? 如何管理输出不同的日志呢?都有哪些方式呢? 第一个问题:在官方的实现有:Console .Debug .EventSource .EventLog .TraceSource .Azure App…
一.前言 回顾:日志记录之日志核心要素揭秘 在上一篇中,我们通过学习了解在.net core 中内置的日志记录中的几大核心要素,在日志工厂记录器(ILoggerFactory)中实现将日志记录提供器(ILoggerProvider)对象都可以集成到Logger对象组合中,这样的话,我们就可以通过基于ILoggerProvider自定义日志记录程序集成到Logger中,再创建写日志定义Ilogger,自定义日志记录器实现日志的输出方式,这样实现自定义日志记录工具. 在这个过程中,日志记录器ILog…
一.前言 对内置日志系统的整体实现进行了介绍之后,可以通过使用内置记录器来实现日志的输出路径.而在实际项目开发中,使用第三方日志框架(如: Log4Net.NLog.Loggr.Serilog.Sentry 等)来记录也是非常多的.首先一般基础的内置日志记录器在第三方日志框架中都有实现,然后第三方日志框架在功能上更加强大和丰富,能满足我们更多的项目分析和诊断的需求. 所以在这一篇中,我们将介绍第三方日志记录提供程序--Serilog 二.回顾 系统内置日志系列: 1. 基于.NetCore3.1…
前言 本文主要是讲解EF Core3.0+ 通过拦截器实现读写分离与SQL日志记录 注意拦截器只有EF Core3.0+ 支持,2.1请考虑上下文工厂的形式实现. 说点题外话.. 一晃又大半年没更新技术博客..唉,去年一年发生了太多事情..博主真的 一言难尽.. 有兴趣的可以去看看:记录一下,也许是转折,也许是结束,也许是新希望的一年 正文 1.通过拦截器实现读写分离 先讲一下本文实现的方式吧 SQL 通过数据库本身的功能 实现主从备份 大概原理如图: EF Core在查询的时候通过DbComm…
使用Serilog来实现日志记录 先安装Serilog六件套神装包: 也可以对个别相应的包进行删除等,都是可以的.例如,标注的1是读取配置文件的,如果不需要通过配置文件进行操作,就可以使用这个包.2是打印到控制台的,如果不需要打印到控制台,也可以不引用.3是写入到文件的,如果不需要写入到文件,也是可以不提供的.我在此处全部引入,方便可以使用多种日志记录方法.Async是异步写入日志,一般需要引入. 我们先在启动项目的Program类里面,新增一些对Serilog的支持操作: 然后,在控制器里面添…
1.添加NuGet包:Microsoft.Extensions.Logging.Debug 2.添加单独类库用于后期维护:BCode.DataBase.Log 3.添加EFCoreLoggerProvider类 using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Text; namespace BCode.DataBase.Log { public cla…
在本章中,也就是整个系列的第一部分将介绍如何定制日志记录.默认日志记录仅写入控制台或调试窗口,这在大多数情况下都很好,但有时需要写入到文件或数据库,或者,您可能希望扩展日志记录的其他信息.在这些情况下,您需要知道如何更改默认日志记录. 在本章,我们将介绍以下主题: 配置日志记录 创建自定义日志记录 使用第三方日志框架 以上主题涉及ASP.NET Core框架的Host层. 技术要求 为了演示,我们创建一个ASP.NET Core MVC应用程序.请打开控制台.shell或Bash终端,然后切换到…
前面的话 几乎所有的服务器和代理都会记录下它们所处理的HTTP事务摘要.这么做出于一系列的原因:跟踪使用情况.安全性.计费.错误检测等等.本文将谥介绍日志记录 记录内容 大多数情况下,日志的记录出于两种原因:査找服务器或代理中存在的问题(比如,哪些请求失败了),或者是生成Web站点访问方式的统计信息.统计数据对市场营销.计费和容量规划(比如,决定是否需要增加服务器或带宽)都非常有用 可以把一个HTTP事务中所有的首部都记录下来,但对每天要处理数百万个事务的服务器和代理来说,这些数据的体积超大,很…
原文: https://technet.microsoft.com/zh-cn/library/cc732758 在 Active Directory Rights Management Services 管理单元中的群集属性表的"日志记录"选项卡上,可以为当前群集打开和关闭日志记录.关闭日志记录将阻止 Active Directory 权限管理服务 (AD RMS) Web 服务将数据发送到日志记录消息队列. AD RMS 日志将由消息队列发送到数据库服务器.如果没有到数据库服务器的…
最近很忙,杂事也多,所以开发本框架也是断断续续的,终于在前两天将前面设定的功能都基本完成了,剩下一些小功能遗漏的以后发现再补上.接下来的章节主要都是讲解在本框架的基础上进行开发的小巧. 本框架主要有四种日志记录,分别是登陆日志.操作日志.手动收集异常日志和自动收集异常日志四种,大部分日志采集都不用开发者动手实现,在模板与相关的功能类中已自动帮我们将所需要的日志记录下来了. 登陆日志,记录的当然是用户登陆.退出.在线时长的日志,主要是在登陆(Login.aspx).后端首页(Main.aspx,有…
.note-content { font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", STHeiti, "Microsoft YaHei", "WenQuanYi Micro Hei", SimSun, Song, sans-serif } 本文制定了日志类库的通用接口规范. 本规范的主要目的,是为了让日志类库以简单通用的方式,通过接收一个 Psr\Log\Logg…
刚学spring的时候书上就强调spring的核心就是ioc和aop blablabla...... IOC到处都能看到...AOP么刚开始接触的时候使用在声明式事务上面..当时书上还提到一个用到aop的例子.那就是用aop去简化日志记录. 当初有点疑问,如果这个日志是由aop来记录的,那记录的信息应该是很通用的,不是每个类定制的,那能记录一些什么信息呢?到底能有多详细的日志呢? 于是真正开始做项目的时候关注了一下公司到时是怎么做的..... 利用AOP记录关键方法的入参与返回 spring a…
前言 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是简单的介绍如何在Visual Studio2010(Asp.Net Mvc3.0)中使用log4net快速创建系统日志,如何扩展以输出自定义字段. 用户可以从http://logging.apache.org/log4net/下载log4net的源代码.解压软件包后,在解压的src目录下将log4net.sln载入Visual…
前言 上一篇文章我们介绍了关于日志记录用的是Log4net,确实也很挺强大,但是别忘了我们.NET有专属于我们的日志框架,那就是NLog,相对于Log4net而言,NLog可以说也是一个很好的记录日志的框架,并且其中的异步日志等都有非常大的改善,本文借此用了最新的NLog来在Web APi中进行记录日志. NLog 第一步则是下载我们需要的程序包,包括程序集以及配置文件 利用NLog记录日志同样可以实现如我们上篇文章利用Log4net来实现的那样,所以在这里就不多说,下面我们来讲另外一种方式,那…
废话不多说,直接上代码: 很简单:将类复制到项目中,最后在配置文件上配置一下:logUrl即可. 默认保存在:项目/temp/log /// <summary> /// 日志类 /// </summary> /// <remarks>Creator: v-lxh CreateTime: 2016/7/26 11:18:09</remarks> /// <Description></Description> public class L…
Log4 web.config <!--这段放前面--> <configSections> <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/> </configSections> <log4net debug="true"> <appender name="RollingLo…