Net Nlog 持久化到数据库
时间:2021-08-13
本文章向大家介绍Net Nlog 持久化到数据库,主要包括Net Nlog 持久化到数据库使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1.添加Nuget: NLog
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" xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd" autoReload="true" throwExceptions="false" internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log"> <variable name="myvar" value="myvalue"/> <targets> <target xsi:type="Database" name="rollfile_trace_db" connectionString="Data Source=xxx;Initial Catalog=xxx;User Id=xxx;Password=xxx"> <commandText> insert into ODM_Setting_Log([Code], [AddTime], [AddUser], [ControllerName], [ActionName], [Remark]) values (@Code, @AddTime, @AddUser, @ControllerName, @ActionName, @Remark); </commandText> <!--日志主键,添加时间,添加人--> <parameter name="@Code" layout="${event-properties:Code}"/> <parameter name="@AddTime" layout="${event-properties:AddTime}"/> <parameter name="@AddUser" layout="${event-properties:AddUser}"/> <!--触发控制器名,Action--> <parameter name="@ControllerName" layout="${event-properties:ControllerName}"/> <parameter name="@ActionName" layout="${event-properties:ActionName}"/> <!--日志信息--> <parameter name="@Remark" layout="${event-properties:Remark}"/> </target> </targets> <rules> <!--所有 Trace 等级日志会记录到DB,禁止设置其他 Trace 等级日志--> <logger name="*" level="Trace" writeTo="rollfile_trace_db" /> </rules> </nlog>
3.后端配置Nlog参数
/// <summary> /// 日志记录到数据库 /// </summary> /// <param name="code"></param> /// <param name="controllerName"></param> /// <param name="actionName"></param> /// <param name="remark"></param> public void Log(string code, string controllerName, string actionName, string remark) { var ei = new LogEventInfo(); ei.Properties["Code"] = code; ei.Properties["AddTime"] = DateTimeExtend.GetValidDate.ToLongString(); ei.Properties["AddUser"] = AuthTiketHelper.GetPersonNo(); ei.Properties["ControllerName"] = controllerName; ei.Properties["ActionName"] = actionName; ei.Properties["Remark"] = remark; ei.Level = LogLevel.Trace; _logger.Log(ei); }
原文地址:https://www.cnblogs.com/Cailf/p/15138466.html
- 1元搭建自己的云服务器&解析域名
- 洛谷P4180 [Beijing2010组队]次小生成树Tree
- 携程开源数据库访问框架
- LOJ #108. 多项式乘法
- 【作业】HansBug的前三次OO作业分析与小结
- 【备忘】Idea的那些事
- 洛谷P1919 【模板】A*B Problem升级版(FFT快速傅里叶)
- win10下vagrant+centos7 rails虚拟开发机配置流程
- 再免费多看一章--k-means++
- 面向对象先导课感想
- 【LATEX】个人版latex论文模板
- 【前端】wangEditor(富文本编辑器) 简易使用示例
- 【前端】ACE Editor(代码编辑器) 简易使用示例
- LOJ#6277. 数列分块入门 1
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 手把手教你用Python查询你的物流信息
- Selenium自动登录淘宝,我无意间发现了登录漏洞!
- 【DB宝20】在Docker中分分钟即可拥有OGG Director环境
- mq监听死信队列后如何处理
- 【小白学PyTorch】7 最新版本torchvision.transforms常用API翻译与讲解
- 小白学PyTorch | 8 实战之MNIST小试牛刀
- 干货:用好VSCode这13款插件和8个快捷键,工作效率提升10倍
- 使用dplyr包对表格整理
- 安利 5 个拍案叫绝的 Matplotlib 骚操作!
- 多媒体程序开发
- 本地 IDE 已废!编辑器大结局!GitHub 的云 VSCode 实测
- 实战 | Python 编写端口扫描器
- 我这几年踩过的十个坑,每一条都是血泪教训
- 在 Python 中如何快速创建一个只读字典?
- 现场打脸:如何使用Selenium批量上传文件?