如何使用SqlDatabaseSink为语义记录应用程序块创建数据库

时间:2014-10-28 11:01:29

标签: application-blocks logging-application-block semantic-logging

如何为语义日志记录设置SQL Server数据库。 是否需要先创建用于记录信息的表? 如果是,那么要使用的架构是什么。

我有以下代码:

var listener = new ObservableEventListener();
string connectionString = @"Data Source=nibc2025;Initial Catalog=TreeDataBase;Integrated Security=True;User Id=sa;Password=nous@123";

listener.EnableEvents(AuditingEventSource.Log, EventLevel.LogAlways, Keywords.All);
databaseSubscription = listener.LogToSqlDatabase
(
    "Test",
    connectionString,
    "Traces",
    Buffering.DefaultBufferingInterval,
    1,
    Timeout.InfiniteTimeSpan, 500
);

// The following one line of code is not part of this function.
// It is just added here to show this is how I log my information.
// Inside LogInformation method I call the 'Write' method
AuditingEventSource.Log.LogInformation("sgsgg", "sgsg");

databaseSubscription.Sink.FlushAsync().Wait();

2 个答案:

答案 0 :(得分:3)

好吧,因为这个帖子在Google上获得了关于语义记录到SQL DB甚至SLAB上的最多点击...

创建数据库的脚本位于此处

\包\ EnterpriseLibrary.SemanticLogging.Database.1.0.1304.0 \脚本

要创建EventSource和Fire the Blocks,此处提供信息,以获取快捷方式和快速解决方案

http://entlib.codeplex.com/discussions/540723

此致

答案 1 :(得分:1)

行。我知道了。该脚本位于packages文件夹中。我忽略了这一点。