我正在尝试构建Azure功能。 此函数将使用我当前的业务逻辑库
例如:
Users.Add(new User() { Name = "Test" } );
Users.Add()有内部异常处理,它将在此处捕获:
catch (Exception ex)
{
Logs.Write(ex);
}
而“Logs”依次会尝试解析当前的HTTP请求信息; IP地址,HTTP标头等。这是一种典型的记录器行为,也是一种非常合理的行为,试图获取当前会话的快照以供以后调查。
除了将 httpRequestMessage 一直转移到业务逻辑然后转移到“系统”方法(例如“日志”),弄乱整个代码库的明显且非常丑陋的方式之外,是否存在任何更好的方式?
我的意思是,打电话
Users.Add(new User(), httpRequestMessage)
并将 httpRequestMessage 添加到每个业务逻辑方法(数千个)非常愚蠢且代码混乱。它也与“Users.Add”的自解释命名,含义和概念无关。
由于