“记录”Windows 服务事件的最佳方式是什么,我应该使用 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 的好消息,但我自己从未使用过)。任何好的日志记录框架都可以让您有选择地将重要消息记录到事件日志中。
关于c# - 登录 C# Windows 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45347651/