5.6K Star 11.4K Fork 4K

GVPdotNET China / Furion

 / 详情

数据库日志写入器,获取上下文信息

已完成
创建于  
2022-07-28 13:47

💢 特别说明:如果 Issue 没有严格按照模板编写且未提供测试源码下载或 Git 测试仓库地址,则视为无效 Issue

Furion 版本号

哪个版本号?
v4.0.5

Web 项目类型

  • WebApi
  • Mvc
  • Razor Pages
  • Blazor Server
  • MinApp

描述你的问题

发生了什么?

我想在Write方法里面获取到入参信息

异常堆栈信息

异常堆栈是什么?

测试项目代码

⚠⚠ 必须提供完整可运行且包含错误的 Git 仓库 DEMO,DEMO 提供最简单的错误逻辑代码,否则不予处理。⚠⚠

您的代码下载地址?


数据库信息

  • Sqlite
  • SqlServer
  • Mysql
  • Oracle
  • PGSql
  • Firebird
  • Cosmos

期待结果

期待的结果是?


评论 (4)

蛋蛋 创建了任务
展开全部操作日志
百小僧 任务状态待办的 修改为已完成

logMsg.Context.Get
能否重载个模糊获取的功能
因为LoggingMonitor.Parameter.,这个是动态的
public void (int age,string name)
就会有LoggingMonitor.Parameter.age 跟LoggingMonitor.Parameter.name 两个key。
当然也可以规定项目所有参数入参都只有一个参数并且命名都是一样的 那就不会有这个问题,但是这样子好像不太好

像审计日志这样高频率写入日志的情况,上下文一旦存了对象,在内存直接飙升很容易出问题,所以设计成了现在的样子。

需要模糊获取可自行在程序层面做:

var properties = logMsg.Context.Properties;
var searchKey = "LoggingMonitor.Parameter.";

var parameters = properties.Keys.Where(u => u.Key.StartWith(searchKey))
                                .Select(u => new { Key = u.Replace(searchKey, string.Empty), Value = properties[u] });

收到

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
974299 monksoul 1578937227 1210212 zhengguojing 1651132211
C#
1
https://gitee.com/dotnetchina/Furion.git
git@gitee.com:dotnetchina/Furion.git
dotnetchina
Furion
Furion

搜索帮助

14c37bed 8189591 565d56ea 8189591