我正在使用企业库 5.0。使用流畅的界面,我能够为基于文件和基于事件的日志记录配置跟踪列表器。有什么方法可以为数据库侦听器配置它。我的想法是不使用任何特定于 Logging 配置的外部配置文件。
我使用了以下内容,我能够登录一个 flatFile,事件查看器。当我尝试使用 DBListner 登录时,我没有收到任何错误消息,但也没有记录该消息。任何人都可以解释一下吗?
.SendTo.RollingFile("Flat File Trace Listener")
.ToFile("Trace.log")
.WithHeader("----------------------")
.FormatWith(new FormatterBuilder()
.TextFormatterNamed("Text Formatter")
.UsingTemplate("Timestamp: {timestamp}{newline}Message: {message}{newline}Category: {category}{newline}Priority: {priority}{newline}EventId: {eventid}{newline}Severity: {severity}{newline}Title:{title}{newline}Machine: {machine}{newline}Application Domain: {appDomain}{newline}Process Id: {processId}{newline}Process Name: {processName}{newline}Win32 Thread Id: {win32ThreadId}{newline}Thread Name: {threadName}{newline}Extended Properties: {dictionary({key} - {value}{newline})}"))
.SendTo.EventLog("Formatted EventLog TraceListener")
.FormatWithSharedFormatter("Text Formatter")
.ToLog("Application")
.LogToCategoryNamed("General").WithOptions.SetAsDefaultCategory()
.SendTo.Database("Formatted Database TraceListener")
.UseDatabase("MyDatabase")
.FormatWith(new FormatterBuilder().TextFormatterNamed("TextFormat"))
.WithWriteLogStoredProcedure("WriteLog")
.WithAddCategoryStoredProcedure ("AddCategory")
.LogToCategoryNamed("DBLogger").WithOptions.SetAsDefaultCategory();
builder.ConfigureData()
.ForDatabaseNamed("MyDatabase")
.ThatIs.ASqlDatabase()
.WithConnectionString("Data Source=.\SQLExpress;Initial Catalog=Logging;Integrated ecurity=True;")
.AsDefault();