簡體   English   中英

登錄C#Windows服務

[英]Logging in C# Windows Service

如果我使用Windows日志事件查看器,或者只使用普通的txt文件,“記錄”Windows服務活動的最佳方法是什么。 如果我使用事件日志,我認為有可能是事件日志已滿。

我最喜歡的日志框架是Serilog 我們使用ELK進行日志聚合,因此Serilog設置為編寫日志JSON格式,例如

{"Level":"Information","MessageTemplate":"Service Started","Timestamp":"2017-07-27T11:29:54.3948669+01:00"}
{"Level":"Information","MessageTemplate":"Service Stopped","Timestamp":"2017-07-27T11:31:14.8305763+01:00"}

然后發送這些日志進行聚合,並通過Web界面可見和搜索 - 我們不打算記錄到事件日志,因為沒有人登錄到這些框。

如果你只有幾個服務,那么日志聚合可能是過度的 - 它很容易讓Serilog寫入其他格式(例如,事件日志,或非人類閱讀的非json格式文件)。

絕對使用一個日志框架( log4net也很好,我也聽說過NLog的好東西,但我自己從未使用過)。 任何好的日志框架都可以讓您有選擇地將重要消息記錄到事件日志中。

我會使用NLog庫。 link然后您可以根據客戶的期望自由選擇File或EventViewer。

從支持人員的角度來看,我會使用事件查看器,因為它很容易到達。 (但不要用信息消息充斥它,只是錯誤)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM