我有Windows窗体应用程序,每天使用此格式的文件名
写入日志YYYY-MM-DD-appName.log
设置是EntLib开箱即用的设置。我只有一个跟踪侦听器。 问题是如果运行应用程序的用户打开.log文件,比如在记事本或其他编辑器中再次运行该应用程序,则文件名具有类似的GUID
8989dsf908dsfds9900.log
我猜这是EntLib使用的临时名称,因为应用程序和记事本都在使用该文件。当用户在记事本中关闭文件时,文件名仍然是GUID。 所以在日志文件夹中有大量带有这些GUID的文件。
可以采取措施来解决这个问题吗? 问候。
答案 0 :(得分:0)
Randy Levy 在此link中说: 这是由System.Diagnostics中的文件锁定引起的。您获取多个文件的原因是当用户打开日志文件时,这会导致文件锁定。此外,每个跟踪侦听器都会尝试在日志记录过程中独占锁定(或将尝试锁定)同一文件,并且当它无法获取锁定时,它将创建一个前面带有GUID的新文件。