我有一些.Net WCF服務,對於這些服務,我配置了app.config文件以便將可發送和接收的消息記錄到可讀的.svclog文件中通過「服務跟蹤查看器工具」(SvcTraceViewer.exe)。該工具可以很好地清晰地顯示正在處理的SOAP消息。.Net WCF服務跟蹤日誌和日誌文件管理(滾動)
我必須使用System.Diagnostics.XmlWriterTraceListener偵聽器來正確格式化可通過服務跟蹤查看器工具處理的.svclog文件。
我遇到的問題是.svclog文件變得太大&服務跟蹤查看器工具由於響應時間較慢而變得不可用。
服務跟蹤查看器工具確實提供了一種功能,可以在文件大小> 40MB時打開部分日誌文件,但這仍然太慢。在app.config文件中似乎沒有工具來配置.svclog,以便每天自動創建新文件或文件達到一定大小時。
有一個名爲Microsoft.VisualBasic.Logging.FileLogTraceListener的文本日誌偵聽器,它支持每日滾動日誌文件的logfilecreationschedule =「Daily」屬性,但是對於操作支持人員來說,此偵聽器生成的日誌文件很困難用作日誌條目不能很好地呈現,而大型xml文檔會造成混淆。
這方面的最佳做法是什麼?看起來好像我可能不得不編寫一個自定義的WCF日誌擴展,看起來像是矯枉過正,只是爲了解決內置System.Diagnostics中缺少日誌文件滾動功能的問題。 XmlWriterTraceListener日誌偵聽器/ appender。
我也嘗試過一個腳本來停止我的應用程序並重命名日誌文件,但這似乎不可能,因爲在Windows上,handle.exe和openfile實用程序無法關閉通過網絡共享打開的文件,所以我如果有人通過網絡共享瀏覽舊日誌文件,則無法重命名/移動舊日誌文件。很快就會發佈一個單獨的問題。
謝謝, 馬特。
雖然它是可行的,但您不應該始終啓用WCF跟蹤。它被設計爲一種故障排除方法,並對性能有影響。在生產環境中禁用它是最佳做法。 –