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