💢 特别说明:如果 Issue 没有严格按照模板编写且未提供测试源码下载或 Git 测试仓库地址,则视为无效
Issue
。
哪个版本号?
v4.0.5
发生了什么?
我想在Write方法里面获取到入参信息
异常堆栈是什么?
无
⚠⚠ 必须提供完整可运行且包含错误的
Git
仓库 DEMO,DEMO 提供最简单的错误逻辑代码,否则不予处理。⚠⚠
您的代码下载地址?
期待的结果是?
v4.1.3 版本发布
https://dotnetchina.gitee.io/furion/docs/logging/#1812:使用脚手架集成,调试时,访问路径为https://localhost:44326/-%E6%97%A5%E5%BF%97%E4%B8%8A%E4%B8%8B%E6%96%87
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
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] });
登录 后才可以发表评论