1
我已經開始使用ETW日誌作爲其高性能建議由微軟和防止重複發明輪子等ETW - 刪除日誌文件導致日誌記錄中斷?
但是我發現,如果有人刪除日誌文件,然後簡單地記錄停止工作,直到跟蹤會話停止並重新啓動。如果API實際返回錯誤,我可以忍受這一點,所以我可以自己重新啓動它,但沒有任何返回任何錯誤代碼。
我的問題是 - 我該如何處理這種情況?有沒有辦法告訴ETW鎖定文件以防止刪除?應該返回一個錯誤?
請注意,我使用的是NT5 API級別,但在NT6 +上可以看到此問題。
相關的API:
RegisterTraceGuids
StartTrace
EnableTrace
TraceEvent
我希望,當文件被刪除的控制回調可能被調用,但沒有任何反應。
我使用原始的win32 API,所以不能有任何異常(除了訪問衝突,這將意味着操作系統中的錯誤) – paulm
我一直使用它從.net包裝,我沒有看到關於那裏失敗的很多信息。 ETW的設計主要是爲了使日誌文件創建與事件跟蹤生成分離開來。 –
所以你認爲在運行時刪除日誌文件意味着它應該靜靜地失敗,直到下一次重新啓動?即使ETW會話在下一次重新啓動時也沒有了?看起來像一個巨大的缺陷給我 – paulm