EntLib5中的日志文件名问题

时间:2013-03-11 04:26:33

标签: .net enterprise-library

我有Windows窗体应用程序,每天使用此格式的文件名

写入日志
  

YYYY-MM-DD-appName.log

设置是EntLib开箱即用的设置。我只有一个跟踪侦听器。 问题是如果运行应用程序的用户打开.log文件,比如在记事本或其他编辑器中再次运行该应用程序,则文件名具有类似的GUID

  

8989dsf908dsfds9900.log

我猜这是EntLib使用的临时名称,因为应用程序和记事本都在使用该文件。当用户在记事本中关闭文件时,文件名仍然是GUID。 所以在日志文件夹中有大量带有这些GUID的文件。

可以采取措施来解决这个问题吗? 问候。

1 个答案:

答案 0 :(得分:0)

Randy Levy 在此link中说: 这是由System.Diagnostics中的文件锁定引起的。您获取多个文件的原因是当用户打开日志文件时,这会导致文件锁定。此外,每个跟踪侦听器都会尝试在日志记录过程中独占锁定(或将尝试锁定)同一文件,并且当它无法获取锁定时,它将创建一个前面带有GUID的新文件。