我知道我可以写入 EventLog 并查询它。我想实现用户选择一个菜单项的功能,该菜单项将查询连接到我的应用程序的所有警告和错误消息并将它们发送给我。
我可以使用 C# 和事件日志来完成所有这些工作。log4net 也可以吗?显然我可以用 log4Net 记录警告和错误消息,但是我可以查询 log4Net“数据库”吗?或者日志消息甚至没有保存?
您可以选择在 log4net 中使用不同的文件附加程序来写入不同的日志文件。我目前有一个用于错误和一个用于跟踪记录,以便我可以记录我的代码活动。
查看此链接以获取有关如何实现此功能的示例 - http://geekswithblogs.net/ontheledge/archive/2009/09/23/logging-with-log4net.aspx
此外,如果您希望解析文本日志文件,请参阅有关解析 log4net 文件以获取错误代码的旧 StackOverflow 问题 - Parse log files in programmatically in .NET
使用 Log4net,您可以选择多种方式来编写日志。如果它们是文本文件,您可以解析它们并发送数据(显然无法查询文本文件)。
但是,您可以使用 log4net 登录到事件日志,这样您就可以保留事件日志实现以进行查询,并使用 log4net 登录到那里。
编辑:以下链接列出了您可以登录的不同内容。您可以登录到数据库。如果您想完全删除菜单选项并将所有日志输出发送回您的服务器,您甚至可以将输出发送到远程日志。http://logging.apache.org/log4net/release/features.html
我只使用 log4net 来记录文本文件和 Windows 事件日志。两者都很简单直接。我会推荐它。
您可以将 log4net 设置为登录到数据库表,然后您可以像查询任何数据库对象一样查询它:
http://logging.apache.org/log4net/release/config-examples.html