我有幾個進程同時運行,我想登錄到同一個文件。使用企業庫從多個進程記錄到同一文件4.1
我們一直在使用企業庫4.1日誌記錄應用程序塊(使用RollingFlatFileTraceListener
),並且它工作正常,除了當兩個進程嘗試寫入日誌文件時,它將GUID預先記錄到日誌文件名同一時間(我相信System.Diagnostics.TextWriterTraceListener
怪癖)。
我已經嘗試了各種各樣的東西,包括在寫入日誌文件後調用Logger.Writer.Dispose()
,但是每次寫入日誌條目時都會發生阻塞調用,這並不理想。
EntLib論壇建議在分銷商服務中使用MSMQ,但這不是一個選項,因爲MSMQ在我的公司不允許。
有沒有另一種方法可以快速輕鬆地從多個線程/進程登錄到同一個文件?
你有沒有得到替代解決方案?也許使用*** MSMQ ***? – Kiquenet 2016-03-08 14:06:22
@Kiquenet已經這麼久了,我不記得了。如果我真的努力嘗試,我依稀記得我們最終使用不同的日誌文件來處理這個問題。這並不理想,但我們希望保持簡單。 – Riko 2016-03-22 17:43:30
如果我現在必須選擇一個日誌記錄框架,我可能會添加,但我會盡可能遠離Enterprise Library。這太複雜了,無論是使用還是配置,都不容易擴展。我可能會使用[log4net](https://logging.apache.org/log4net/)或[NLog](http://nlog-project.org/)。 – Riko 2016-03-22 17:50:52