我有各种项目使用的自定义WcfAppender(wpf,web等)。我想记录用户名,但是项目使用了不同的技术(Windows身份验证,联合安全等),并且我不想将紧密耦合的代码写入特定的身份验证技术。我可以通过设置动作或类似方式告诉appender如何找到用户名吗?有关自定义log4net appender的最佳做法是什么?
答案 0 :(得分:0)
一年前我问了一个类似的问题,但我不确定除了使用ThreadContext
并设置一个变量来存储每个wcf调用的用户名之外,还有一个很好的解决方案:
//You would need to get currentUserLoggedIn
log4net.ThreadContext.Properties["user"] = currentUserLoggedIn;
这是我的老问题,但有一个答案,但这个解决方案对我不起作用。也许它适合你:
log4net using ThreadContext.Properties in wcf PerSession service