我想在将字符串写入log4net之前从字符串中删除回车符。
示例:
string query = string.Format(@"select
*
from
<a table>
如果我通过以下方式登录,则有三个\ n \ n \ n \ n <\ n>
log.Debug(query);
我得到了一些凌乱的日志
理想的输出将被剥离。我可以这样做:
log.Debug(query.Replace("\n",""));
但必须记住每次调用日志方法...
答案 0 :(得分:0)
我不确定如何使用web.config中的转换模式printf like语法来执行此操作。但是,如果您想要始终为所有级别执行此操作,则可以下载源并更改内部。
否则,您可以创建一个类似的扩展方法:
public static void Debug(this ILog logger, string message, bool removeNewLines)
{
if (logger == null)
throw new ArgumentNullException("logger");
logger.Debug(removeNewLines ? message.Replace("\n", string.Empty) : message);
}
..然后像这样称呼它:
log.Debug(query, true);
唯一的问题是你必须记得称之为:
log.Debug(query, true);
而不是:
log.Debug(query);