使用Logging Application Block进行WCF日志记录

时间:2009-06-05 12:18:22

标签: wcf logging enterprise-library wcf-security

我有一个使用用户名和密码保护的WCF服务(使用SqlMembershipProvider)。我想记录每次(成功和失败)登录尝试此服务,并使用Logging Application Block将用户凭据保存到数据库。当我打开WCF日志记录并使用Logging Application Block跟踪它时,我得到类似这样的信息(一次登录尝试大约有100条日志):

Timestamp: 6/5/2009 12:03:01 PM
Message: <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Start"><TraceIdentifier>http://msdn.microsoft.com/en-US/library/System.ServiceModel.Diagnostics.ActivityBoundary.aspx</TraceIdentifier><Description>Activity boundary.</Description><AppDomain>IX.Services.Host.vshost.exe</AppDomain><ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/DictionaryTraceRecord"><ActivityName>Execute 'Services.Contracts.ILoginService.Login'.</ActivityName><ActivityType>ExecuteUserCode</ActivityType></ExtendedData></TraceRecord>
Category: System.ServiceModel
Priority: 2147483647
EventId: 131085
Severity: Start
Title:
Machine: PC204
Application Domain: Services.Host.vshost.exe
Process Id: 7864
Process Name: D:\..\Services.Host.vshost.exe
Win32 Thread Id: 6392
Thread Name: 
Extended Properties: TraceEventCache - System.Diagnostics.TraceEventCache

我无法从此日志中找到任何有用的信息(即用户凭据)。所以,我的问题是:如何使用Logging Application Block将用户凭据从WCF服务记录到数据库?

提前感谢您的回答!

1 个答案:

答案 0 :(得分:0)

这个答案也应该回答你的问题

Logging Application Block - Logging the caller