我正在使用模式&實踐企業庫(p & p EntLib)日誌塊以寫入文本文件。當使用p&p EntLib日誌塊時,將日誌條目強制爲單行
一些日誌消息的包含多行,我想迫使成爲一個單一的線 - 換句話說,在所述日誌消息的空間之前,他們更換\r
& \n
被寫入到文件中。
如何配置這個日誌程序塊,如果這是可能的嗎?
我正在使用模式&實踐企業庫(p & p EntLib)日誌塊以寫入文本文件。當使用p&p EntLib日誌塊時,將日誌條目強制爲單行
一些日誌消息的包含多行,我想迫使成爲一個單一的線 - 換句話說,在所述日誌消息的空間之前,他們更換\r
& \n
被寫入到文件中。
如何配置這個日誌程序塊,如果這是可能的嗎?
從內存中,你需要創建一個自定義格式,類似於this link東西。
有關執行字符串在您的郵件替換替代空間爲換行符是什麼?
即
配置您的格式化模板是這樣的:
<formatters>
<add template="{timestamp}: {category}: {severity}: {message}"
type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null"
name="My Text Formatter" />
</formatters>
然後在你的代碼替換新線與空間(這可以在一個集中的輔助方法來完成):
string message = @"This is
the message
to log.";
message.Replace(Environment.NewLine, " ");
這應該會導致一個日誌文件看起來像:
11/11/2009 2:52:01 PM: My Category Event: Information: This is the message to log.
11/11/2009 2:53:47 PM: My Category Event: Information: More test to log to the file.