代价如何确保日志目录存在于应用程序中的每个日志消息之前,该日志消息可能会每秒记录几次(但不会持续)?C#Directory.Exists
我可以实现一个文件系统观察样式的线程火起来,并重新创建一个丢失的日志目录,但我的直觉是,这将是一个稍重的操作
代价如何确保日志目录存在于应用程序中的每个日志消息之前,该日志消息可能会每秒记录几次(但不会持续)?C#Directory.Exists
我可以实现一个文件系统观察样式的线程火起来,并重新创建一个丢失的日志目录,但我的直觉是,这将是一个稍重的操作
我会检查,看它是否存在于第一次,比如你的记录器的构建,如果不是那么创建它的话。
Windows无法轻松删除正在使用的目录。
由于我的StreamWriter是在使用中处理的,因此该目录不一定会被使用,因此将在每个日志 – johnc 2009-07-21 00:18:17
之后进行处理,除此之外,如果您在目录中维护文件锁定,则无法删除它,直到持有该锁定的进程终止。 – MyItchyChin 2009-07-21 00:19:43
+1我同意,只检查一次,然后锁定日志文件,以便不能删除目录。 – 2009-07-21 00:24:48
如果您使用FileStream对象创建日志文件,那么名为OpenOrCreate的FileMode参数有一个选项,该参数在不存在的情况下创建完整的文件路径。 FileSystemWatcher根本不重,它的目的就是尽可能精简操作。如果我没有记错的话,在NTFS分区中几乎没有成本,因为NTFS本身支持文件和目录级别的事件绑定。 这就是说,我不知道这是必要的这种情况。 – MyItchyChin 2009-07-21 00:25:06