在MS Enterprise Library 5.0中,日誌記錄應用程序塊在運行時可以獲取日誌將要發往的日誌文件(平面文件偵聽器)的名稱嗎?獲取當前日誌文件的文件名Enterprise Library 5.0
1
A
回答
2
您可以通過使用配置對象獲得的信息:
IConfigurationSource configSource = ConfigurationSourceFactory.Create();
var logSettings = configSource.GetSection(LoggingSettings.SectionName) as LoggingSettings;
var flatFileTraceListener = logSettings.TraceListeners
.First(t => t is FlatFileTraceListenerData) as FlatFileTraceListenerData;
string fileName = flatFileTraceListener.FileName;
這是假設你有興趣在第一跟蹤監聽器是一個FlatFileTraceListener。如果你想通過類型和名稱得到跟蹤監聽器,那麼你也可以這樣做:
IConfigurationSource configSource = ConfigurationSourceFactory.Create();
var logSettings = configSource.GetSection(LoggingSettings.SectionName) as LoggingSettings;
var flatFileTraceListener = logSettings.TraceListeners
.FirstOrDefault(t => t is FlatFileTraceListenerData && t.Name == "Flat File Trace Listener")
as FlatFileTraceListenerData;
string fileName = flatFileTraceListener.FileName;
0
更改配置是沒有問題的。
更改文件名屬性後aaa.log - >bbb.log記錄器未寫入新的文件名。
更改的配置必須保存/激活(?)或記錄器必須初始化。
IConfigurationSource configSource = ConfigurationSourceFactory.Create();
var logSettings = configSource.GetSection(LoggingSettings.SectionName) as LoggingSettings;
var rollFileTraceListener = logSettings.TraceListeners
.FirstOrDefault(t => t is RollingFlatFileTraceListenerData && t.Name == "RollingFlatFileTraceListener")
as RollingFlatFileTraceListenerData;
string fileName = rollFileTraceListener.FileName;
rollFileTraceListener.FileName = fileName.Replace("aaa", "bbb");
LogWriterFactory f = new LogWriterFactory(configSource);
f.Create();
Logger.Reset();
LogEntry logEntry = new LogEntry();
logEntry.Message = $"{DateTime.Now} Count:{333}";
logEntry.Categories.Clear();
logEntry.Categories.Add("General");
Logger.Write(logEntry);
相關問題
- 1. Corrupt Enterprise Library 5.0.msi?
- 2. Enterprise Library 5.0在事件日誌中記錄錯誤,如事件ID 6352
- 3. .net Mef with Enterprise Library 5.0
- 4. logback創建名稱爲當前日期的文件夾內的日誌文件
- 5. 計劃任務日誌以當前日期命名的文件
- 6. 在log4j中包含當前日期的日誌文件名
- 7. mysqldump錯誤當獲取當前日期添加到文件名
- 8. Enterprise Library 5.0向後兼容Enterprise Library 4.1嗎?
- 9. 獲取當前文件夾名稱
- 10. AVAudioPlayer獲取當前MP3文件名
- 11. Enterprise Library 5.0中的log4net.Config.XmlConfigurator的等效物
- 12. 獲取當前日期,並在文件名中使用它
- 13. 的Java的Android獲取日誌文件
- 14. 獲取日誌文件中的信息
- 15. 如何使用Enterprise-Library 5.0更新poco
- 16. 要在日誌文件名
- 17. 獲取MSBuild輸出文件到日誌?
- 18. 從wireshark pcap文件獲取日誌
- 19. 在日誌文件中獲取stdout + stderr
- 20. 當前文件的jekyll文件名
- 21. 如何獲取Python日誌記錄模塊當前正在記錄的文件?
- 22. 如何獲取SVN日誌以僅顯示當前目標中的文件
- 23. 獲取日誌輸出的行號和文件名
- 24. 如何獲取當前工作的cs文件的文件名和當前類的名稱
- 25. 提取日誌文件
- 26. 用PHP獲取當前文件的URL
- 27. 獲取的當前項目文件夾
- 28. 爲多個日誌文件滾動的log4net文件 - 文件名
- 29. Laravel 5.2 - 獲取日誌事件的當前行
- 30. 如何在插件動作類中獲取當前文件名
你試過_anything_嗎? – 2013-04-30 08:43:40
我嘗試了LogWriter上提供的各種方法,並嘗試在互聯網上查找是否有人有同樣的問題。 – ViV 2013-04-30 08:58:42