C# EventSource未写入SQL数据库

C# EventSource未写入SQL数据库,c#,logging,azure-sql-database,eventsource,C#,Logging,Azure Sql Database,Eventsource,我正在使用EventSource通过EnterpriseLibrary.semanticlocking将我的事件记录到SQL数据库中 以下是试验方法: [TestMethod] public void Log_Test() { var eventListener = new ObservableEventListener(); var sqlListener = SqlDatabaseLog.CreateListener("Instanc

我正在使用EventSource通过EnterpriseLibrary.semanticlocking将我的事件记录到SQL数据库中

以下是试验方法:

    [TestMethod]
    public void Log_Test()
    {
        var eventListener = new ObservableEventListener();

        var sqlListener = SqlDatabaseLog.CreateListener("Instance", CloudConfigurationManager.GetSetting("ConnectionStringTrace"), "Traces");
        eventListener.EnableEvents(ApplicationEventSource.Log, EventLevel.LogAlways, Keywords.All);

        ApplicationEventSource.Log.ComponentNotLoaded("Milind", "Cheeta", "Core");
ApplicationEventSource类通过以下方法从EventSource派生

        [Event(2,
        Keywords = Keywords.Component,
        Message = "Component: {2} not successfully loaded for user: {0} on machine: {1}",
        Task = Tasks.Load,
        Opcode = EventOpcode.Start,
        Level = EventLevel.Error)]
    public void ComponentNotLoaded(string userName, string machineName, string componentName)
    {
        WriteEvent(2, userName, machineName, componentName);
    }

WriteEvent时我没有收到错误,但是没有任何内容被记录到表跟踪请发布完整的ApplicationEventSource类

如果您这样更改方法:

public void ComponentNotLoaded(string userName, string machineName, string componentName)
{
    if(IsEnabled())
        WriteEvent(2, userName, machineName, componentName);
}
eventListener.LogToSqlDatabase(
                Environment.MachineName,
                sqlConnectionString,
            );
会调用WriteEvent吗?如果没有,结构中就有问题。尝试使用事件源分析器验证EventSource类

另外,设置数据库接收器的正常过程如下所示:

public void ComponentNotLoaded(string userName, string machineName, string componentName)
{
    if(IsEnabled())
        WriteEvent(2, userName, machineName, componentName);
}
eventListener.LogToSqlDatabase(
                Environment.MachineName,
                sqlConnectionString,
            );