2009-12-29 86 views
3

我正在使用MS日志记录应用程序块将我的应用程序事件记录到位于c:\ temp文件夹中的名为app-trace.log的文件中。Microsoft企业日志记录应用程序块 - 读取日志文件

我试图找到在运行时读取此文件的最佳方式,并在用户请求时显示它。

我有2个问题:

  1. 看来,这种功能不被框架支持,所以我必须写这个读者自己。我在这里错过了什么吗?有没有更好的方法来获取这些数据(无需将其缓存在内存中或将其保存到另一个文件中)?

  2. 如果我走,唯一的选择留给我,贯彻读者自己,当我试图做的事:

    System.IO.FileStream fs = new System.IO.FileStream(@"c:\temp\app-trace.log", FileMode.Open, FileAccess.Read);

    我收到“文件正在被另一个处理c#“。可能文件被应用程序块锁定。无论如何,有没有办法访问和阅读它?

回答

2

企业库不支持此操作。

如果必须检索文件中的数据,那么你应该能够通过做以下几点:

FileStream fs = new FileStream(@"c:\trace.log", FileMode.Open, FileAccess.Read, FileShare.ReadWrite); 


我很好奇,为什么用户需要访问日志文件?是否支持?如果这是一个服务器应用程序,那么我可能会认真考虑记录到数据库,然后在用户想要查看日志信息时从数据库中检索数据。

相关问题