日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

使用Microsoft EnterpriseLibrary(微软企业库)日志组件把系统日志写入数据库和xml文件...

發布時間:2025/3/15 windows 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Microsoft EnterpriseLibrary(微软企业库)日志组件把系统日志写入数据库和xml文件... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這里只是說明在項目中如何配置使用微軟企業庫的日志組件,對數據庫方面的配置請參考其他資料。

1、在項目中添加Microsoft.Practices.EnterpriseLibrary.Data.dll、Microsoft.Practices.EnterpriseLibrary.Logging.dll、Microsoft.Practices.EnterpriseLibrary.Logging.Database.dll這三個引用。

2、打開EnterpriseLibrary的配置工具EntLibConfig.exe

1)選擇菜單“Block->Add Logging Setting"

2)點擊“+”號添加Logging Target Listeners,選擇Add Database Trace Listener

3、設置Database Trace Listener中的參數,比如數據庫連接、插入日志存儲過程、插入分類存儲過程、選擇文本格式等

4、設置Database Setting中的“Connection String”中的數據庫連接
5、最后保存配置文件到項目路徑中。

設置后的配置文件:

<configuration><configSections><section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" /><section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" /></configSections><loggingConfiguration name="" tracingEnabled="true" defaultCategory="General"><listeners><add name="Event Log Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"source="Enterprise Library Logging" formatter="Text Formatter"log="" machineName="." traceOutputOptions="None" /><add name="Database Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.Database.FormattedDatabaseTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging.Database, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Database.Configuration.FormattedDatabaseTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging.Database, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"databaseInstanceName="Connection String" writeLogStoredProcName="EL_WRITELOG"addCategoryStoredProcName="EL_ADDCATEGORY" formatter="Text Formatter" /><add name="XML Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.XmlTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.XmlTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"fileName="test.xml" /></listeners><formatters><add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"template="&lt;TIMESTAMP&gt; {timestamp}&lt;/TIMESTAMP&gt; {newline}&#xA;&lt;MESSAGE&gt; {message}&lt;/MESSAGE&gt;{newline}&#xA;&lt;CATEGORY&gt;{category}&lt;/CATEGORY&gt;{newline}&#xA;&lt;PRIORITY&gt;{priority}&lt;/PRIORITY&gt;{newline}&#xA;&lt;EVENTID&gt;{eventid}&lt;/EVENTID&gt;{newline}&#xA;&lt;SEVERITY&gt;{severity}&lt;/SEVERITY&gt;{newline}&#xA;&lt;TITLE&gt;{title}&lt;/TITLE&gt;{newline}&#xA;&lt;MACHINE&gt;{localMachine}&lt;/MACHINE&gt;{newline}&#xA;&lt;APP DOMAIN&gt; {localAppDomain}&lt;/APP DOMAIN&gt;{newline}&#xA;&lt;PROCESSID&gt;{localProcessId}&lt;/PROCESSID&gt;{newline}&#xA;&lt;PROCESS NAME&gt; {localProcessName}&lt;/PROCESS NAME&gt; {newline}&#xA;&lt;THREAD NAME&gt; {threadName}&lt;/THREAD NAME&gt;{newline}&#xA;&lt;WIN32 THREADID&gt;{win32ThreadId}&lt;/WIN32 THREADID&gt;{newline}&#xA;&lt;EXTENDED PROPERTIES&gt; {dictionary(&lt;KEY&gt;{key}&lt;/KEY&gt; - &lt;VALUE&gt;{value}&lt;/VALUE&gt;{newline})}&lt;/EXTENDED PROPERTIES&gt;"name="Text Formatter" /></formatters><categorySources><add switchValue="All" name="General"><listeners><add name="Database Trace Listener" /><add name="XML Trace Listener" /></listeners></add></categorySources><specialSources><allEvents switchValue="All" name="All Events" /><notProcessed switchValue="All" name="Unprocessed Category" /><errors switchValue="All" name="Logging Errors &amp; Warnings"><listeners><add name="Database Trace Listener" /><add name="XML Trace Listener" /></listeners></errors></specialSources></loggingConfiguration><dataConfiguration defaultDatabase="Connection String" /><connectionStrings><add name="Connection String" connectionString="DATA SOURCE=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = eifoclog)));PERSIST SECURITY INFO=True;USER ID=FOC;Password=foc"providerName="System.Data.OracleClient" /></connectionStrings> </configuration>

需要注意的是:

在工具中只能選一個監聽器,但實際可以有多個監聽器同時監聽。

??????? <categorySources>
??????????? <add switchValue="All" name="General">
??????????????? <listeners>
??????????????????? <add name="Database Trace Listener" />
??????????????????? <add name="XML Trace Listener" />

??????????????? </listeners>
??????????? </add>
??????? </categorySources>


在項目中使用:

class Program{static void Main(string[] args){LogEntry logEntry = new LogEntry();logEntry.EventId = 1;logEntry.Priority = 1;logEntry.Severity = System.Diagnostics.TraceEventType.Error;logEntry.Title = "標題";logEntry.Message = "test";logEntry.Categories.Add("C#學習");logEntry.Categories.Add("Microsoft Enterprise Library學習");Logger.Writer.Write(logEntry, "General");Console.WriteLine("日志寫入完成!");}}


本文參考博客地址:http://www.cnblogs.com/huangcong/archive/2010/06/04/1751087.html

?示例代碼地址:http://files.cnblogs.com/qiu2013/ConsoleApplication1.zip

轉載于:https://www.cnblogs.com/qiu2013/p/3948131.html

新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!

總結

以上是生活随笔為你收集整理的使用Microsoft EnterpriseLibrary(微软企业库)日志组件把系统日志写入数据库和xml文件...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。