代價如何確保日誌目錄存在於應用程序中的每個日誌消息之前,該日誌消息可能會每秒記錄幾次(但不會持續)?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