Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个被各种项目(wpf、web 等)使用的自定义 WcfAppender。我想记录用户名,但是项目使用了不同的技术(Windows 身份验证、联合安全性等),我不想为特定的身份验证技术编写紧密耦合的代码。我可以通过设置操作或类似方法以某种方式告诉附加程序如何找到用户名吗?关于自定义 log4net 附加程序的最佳实践是什么?
大约一年前我问了一个类似的问题,但我不确定是否有一个很好的解决方案,除了使用ThreadContext和设置一个变量来存储每个 wcf 调用中的用户名,如下所示:
ThreadContext
//You would need to get currentUserLoggedIn log4net.ThreadContext.Properties["user"] = currentUserLoggedIn;
这是我的老问题,有一个答案,但这个解决方案对我不起作用。也许它会适合你:
log4net 在 wcf PerSession 服务中使用 ThreadContext.Properties