麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

C#日志類記錄

2019-11-14 15:44:40
字體:
來源:轉載
供稿:網友

每個程序都要和日志打交道。程序日志的質量直接影響了排除問題的難度。普通程序調試信息直接輸出控制臺, 復雜程序則通過文本,xml等方式記錄運行時的調試信息。
在C#中Diagnostics命名空間下有一個微軟提供的專門用于記錄信息的TraceSource類。TraceSource的使用方法很簡單,只需要4行代碼
TraceSource ts = new TraceSource("Code.Main", SourceLevels.All); ts.Listeners.Add(new ConsoleTraceListener()); ts.TraceEvent(TraceEventType.Information, 0, "Message"); ts.Close();
日志類包括以下組成:

  • TraceSource: 日志的主體,日志類都是圍繞這個類展開的。第一個初始化參數是名字,用于唯一標志TraceSource。可以在一個程序中定義多個TraceSource,通過名字進行區分。第二個初始化參數就是SourceSwitch.
  • SourceSwitch: 用于篩選日志。在打日志的時候(調用函數TraceEvent),可以設置輸出日志的類型(TraceEventType), 比如 Critical、Error、Warning、Information和Verbose。SourceSwitch根據日志的類型篩選日志,如果設置為SourceLevels.Error,那么只有Error, Critical類型的日志能被輸出到Listener.
  • Listener: 輸出日志的位置。例如ConsoleTraceListener將日志輸出到控制臺, XmlWriterTraceListener將日志以xml格式輸出到文件中。
  • TraceFilters: TraceSource可以篩選輸出到Listener的日志,同樣, Listener也可以篩選輸出的日志,這就是TraceFilter的作用.

提示:

  • 一個程序可以有多個TraceSource, 一個TraceSource可以設置多個Listener, 不同的TraceSource可以共享一個Listerner(這也就是TraceFilter存在的意義)。如果一個TraceSource設置多個Listener,那么日志會同時輸出到所有Listener。
  • SourceLevels有兩種類型,一種是和重要性相關的日志類型, 比如Critical, Error, Warning, Information,Verbose。 另外一種是和活動相關的日志類型ActivityTracing, 只有TraceEventType.Start, TraceEventType.Suspend, TraceEventType.Transfer, TraceEventType.Resume。 和活動相關的日志類型主要用于記錄程序中子線程或者子任務開始,結束的狀態。
  • TraceEvent的第二個參數是一個整形助記符。在不同的函數中設置不同的助記符或者直接設置為線程id,用來記錄線程的運行狀態。
  • 調用TraceEvent不會直接將日志輸出到Listener, 需要調用Flush或者Close才能輸出到Listener.
  • TraceSource有一個方法TraceTransfer, 是和活動相關的方法。他向Listener寫入一條轉移信息(其實就是輸出一條包含guid的信息),表明一個活動(線程)執行了一個新的子活動(子線程)。可以根據這條信息判斷程序的執行流程。這個方法需要配合Trace.CorrelationManager.StartLogicalOperation,Trace.CorrelationManager.StopLogicalOperation使用。
  • 微軟幫我們實現了常用的Listener, 比如ConsoleTraceListener,TextWriterTraceListener, XmlWriterTraceListener, DelimitedListTraceListener, EventLogTraceListener, EventSchemaTraceListener。如果需要定制Listener, 只需要實現TraceListener接口即可。
  • 可以通過App.config動態配置日志類的屬性,但程序中設置的屬性會覆蓋配置文件的屬性。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日本在线一区二区 | 久久久久久久久久久高潮一区二区 | 中文字幕一二三区芒果 | 亚洲极色 | 欧美一级久久 | 久久成人福利 | 日韩黄色av | www.guochanav.com| 黄色片网站在线看 | 欧美激情在线播放 | 久久精品一区二区三区不卡牛牛 | 9999在线视频 | www69xxxxx| 国产精品99免费视频 | 啊~用cao嗯力cao烂我视频 | 日本在线不卡一区二区 | 久草在线视频精品 | 特片网久久 | 久久国产精品91 | 九草在线视频 | 国产精品一区二区三区在线 | 中文字幕在线观看1 | 二区三区四区 | 国产成人高潮免费观看精品 | 国产在线精品一区二区不卡 | 亚洲一区二区三区91 | 久久成年网 | 国产免费一级淫片 | 国产成人强伦免费视频网站 | 成年人激情在线 | 午夜男人在线观看 | 国产成人小视频在线观看 | 日韩视频在线观看免费视频 | av成人免费看| 久久人人97超碰国产公开结果 | 欧美日本国产精品 | 欧美巨根| 国产一级毛片国产 | 国产精品999在线 | www.99av| 国产正在播放 |