.NET Core+NLog+存储配置 日志存入到数据库
nlog-config.xml 配置文件:
- <?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="false"
- internalLogLevel="info"
- internalLogFile="Logs/SysNlog.log">
- <extensions>
- <add assembly="NLog.Web.AspNetCore"/>
- </extensions>
- <targets>
- <target name="db"
- xsi:type="Database"
- connectionString="${var:NLOG_CONNECTION_STRING}"
- commandType="StoredProcedure"
- commandText="[dbo].[SP_InsertLog]">
- <parameter name="@traceId" layout="${aspnet-TraceIdentifier}" />
- <parameter name="@eventId" layout="${event-properties:EventId}" />
- <parameter name="@user" layout="${aspnet-user-identity}" />
- <parameter name="@application" layout="APP_WEB" />
- <parameter name="@level" layout="${level}" />
- <parameter name="@category" layout="${logger}" />
- <parameter name="@message" layout="${message}" />
- <parameter name="@properties" layout="${all-event-properties:separator=|}" />
- <parameter name="@exception" layout="${exception:tostring}" />
- <parameter name="@clientIP" layout="${aspnet-request-ip}" />
- <parameter name="@addTime" layout="${date:universalTime=True}" />
- </target>
- </targets>
- <rules>
- <logger name="*" minlevel="Trace" writeTo="db" />
- </rules>
- </nlog>
appsettings.json配置
- {
- "ConnectionStrings": {
- "testDatabase": "Data Source=(local); Initial Catalog=TestDB; User Id=sa; Password=Sa; MultipleActiveResultSets=True;",
- "LogDatabase": "Data Source=(local); Initial Catalog=TestDB_Log; User Id=sa; Password=Sa; MultipleActiveResultSets=True;"
- },
- "Encoding": "GBK",
- "Logging": {
- "IncludeScopes": false,
- "LogLevel": {
- "Microsoft.AspNetCore.Mvc": "Warning",
- "Microsoft.EntityFrameworkCore": "Warning",
- "Default": "Information"
- }
- }
- }
STARTUP.CS
- // NLog 数据库配置
- NLog.LogManager.Configuration.FindTargetByName<DatabaseTarget>("db").ConnectionString = Configuration.GetConnectionString("LogDatabase");
存储:
- create procedure [dbo].[SP_InsertLog](
- @traceId nvarchar(32),
- @eventId int,
- @user nvarchar(450),
- @application nvarchar(450),
- @level nvarchar(8),
- @category nvarchar(450),
- @message nvarchar(max),
- @properties nvarchar(max),
- @exception nvarchar(max),
- @clientIP nvarchar(450),
- @addTime datetime
- )
- as
- begin
- insert into dbo.[LogTable]([TraceId],[EventId], [User], [Application], [Level], [Category], [Message], [Properties], [Exception], [ClientIP], [AddTime])
- values(@traceId, @eventId, @user, @application, @level, @category, @message, @properties, @exception, @clientIP, @addTime);
- end
Program.cs
- public class Program
- {
- public static void Main(string[] args)
- {
- var logger = NLogBuilder.ConfigureNLog("Log/nlog-config.xml").GetCurrentClassLogger();
- try
- {
- CreateWebHostBuilder(args).Build().Run();
- }
- catch (Exception ex)
- {
- logger.Error(ex, "异常信息");
- throw;
- }
- finally { NLog.LogManager.Shutdown(); }
- }
- public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
- WebHost.CreateDefaultBuilder(args)
- .UseStartup<Startup>()
- .UseNLog();
- }
.NET Core+NLog+存储配置 日志存入到数据库的更多相关文章
- Asp.Net Core NLog 将日志输出到数据库以及添加LayoutRenderer的支持
在这之前打算用Apache的Log4Net,但是发现其AdoNetAppender方法已经不存在了,无法使用配置文件直接输出到数据库了,因此我便改用了NLog框架. 一.对项目添加NLog 通过Nug ...
- Nlog打印日志到Influxdb数据库
1.安装和使用Influxdb 安装部分网上资料比较多,也讲的比较详细,请自行百度. 下面大概讲下InfluxDB的写入和读取数据的方法. 我使用了InfluxData.Net包. 工具->Nu ...
- asp.net core NLog将日志写到文件
1.安装Nlog包 Install-Package NLog.Extensions.Logging -Pre 2.在项目添加nlog.config文件 2.1.nlog.config <?xml ...
- ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB
一.前言 在项目开发中,日志系统是系统的一个重要组成模块,通过在程序中记录运行日志.错误日志,可以让我们对于系统的运行情况做到很好的掌控.同时,收集日志不仅仅可以用于诊断排查错误,由于日志同样也是大量 ...
- NET Core 实战:使用 NLog 将日志信息记录到 MongoDB
NET Core 实战:使用 NLog 将日志信息记录到 MongoDB https://www.cnblogs.com/danvic712/p/10226557.html ASP.NET Core ...
- EF Core使用SQL调用返回其他类型的查询 ASP.NET Core 2.0 使用NLog实现日志记录 CSS 3D transforms cSharp:use Activator.CreateInstance with an Interface? SqlHelper DBHelper C# Thread.Abort方法真的让线程停止了吗? 注意!你的Thread.Abort方法真
EF Core使用SQL调用返回其他类型的查询 假设你想要 SQL 本身编写,而不使用 LINQ. 需要运行 SQL 查询中返回实体对象之外的内容. 在 EF Core 中,执行该操作的另一种方法 ...
- Net Core 2.1 日志记录框架NLog+Mysql配置
NLog是什么? 这里还是简单介绍一下吧,为了让小白也知道.NLog是一个灵活的免费日志记录平台,适用于各种.NET平台,包括.NET Core.NLog可以通过简单地配置就可以可以很方便的写入多个日 ...
- 使用NLog把日志写入数据库并按天自动分表
前言 最近用Asp.net Core开发程序的时候 因为时间的关系,就没有过多的去关注日志方面的功能 都是直接用系统的ILogger先记录着,然后看日志的时候就先在命令行看日志 在开发阶段没有什么问题 ...
- [转]ASP.NET Core 开发-Logging 使用NLog 写日志文件
本文转自:http://www.cnblogs.com/Leo_wl/p/5561812.html ASP.NET Core 开发-Logging 使用NLog 写日志文件. NLog 可以适用于 . ...
随机推荐
- ord() expected string of length 1, but int found
源代码是这样: s=b'^SdVkT#S ]`Y\\!^)\x8f\x80ism' key='' for i in s: i=ord(i)-16 key+=chr(i^32) prin ...
- 记录Ubuntu & Windows下安装PyV8
https://blog.csdn.net/hanshileiai/article/details/51628173
- Java内存空间的分配及回收
Java中内存分为: 栈:存放简单数据类型变量(值和变量名都存在栈中),存放引用数据类型的变量名以及它所指向的实例的首地址. 堆:存放引用数据类型的实例. Java的垃圾回收 由一个后台线程gc进行垃 ...
- ASP.NET Core 新建线程中使用依赖注入的问题
问题来自博问的一个提问 .net core 多线程数据保存的时候DbContext被释放 . TCPService 通过构造函数注入了 ContentService , ContentService ...
- Windows下更改MySQL 数据库文件存放位置
更改默认的mysql数据库目录 将 C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data 改 ...
- YOLO系列:YOLO v1深度解析
声明一点,我是工程应用人员,此文章仅适合算法应用工程师. 1.首先 先看一下YOLO的整体结构: 2.其次 看一下YOLO的工作过程: (1) 将原图划分为SxS的网格.如果一个目标的中心落入某个格子 ...
- UVA 277 Puzzle
题意:输入5x5的字符串,输入操作,要求输出完成操作后的字符串. 注意:①输入的操作执行可能会越界,如果越界则按题目要求输出不能完成的语句. ②除了最后一次的输出外,其他输出均要在后面空一行. ③操作 ...
- Python流程控制if判断以及whlie循环
一.基本运算符补充 1. 算术运算 print(10 / 3) print(10 // 3) print(10 ** 2) 2. 赋值运算 ...
- 潭州课堂25班:Ph201805201 django 项目 第二十二课 文章主页 新闻列表页面滚动加载,轮播图后台实现 (课堂笔记)
新建static/js/news/index.js文件 ,主要用于向后台发送请求, // 新建static/js/news/index.js文件 $(function () { // 新闻列表功能 l ...
- 第二章 STM32的结构和组成
2.5 芯片里面有什么 STM32F103采用的是Cortex-M3内核,内核即CPU,由ARM公司设计. ARM公司并不生产芯片,而是出售其芯片技术授权. 芯片生产厂商(SOC)如ST.TI.Fre ...