我正在使用模式&实践企业库(p& p EntLib)日志记录块以写入文本文件。
一些日志消息包含多行,我想强制成为一行 - 换句话说,替换\r
& \n
在将日志消息写入文件之前在其中留有空格。
如果可以的话,如何为此配置日志记录块?
答案 0 :(得分:1)
从内存中,您需要创建一个类似于this link的自定义格式化程序。
答案 1 :(得分:0)
如何在消息上执行字符串替换以替换换行符的空格?
即
将Formatter模板配置为:
<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.