我通常有返回IList的方法。 我需要将结果记录在此列表中。
有没有比循环列表中的项目更好的方法并逐个打印它们?
foreach(string productName in productsNames)
{
prodsNames.Append(productName + " ");
}
Logger.Debug("Loading data for Producers: " + prodsNames);
是否有一些方法可以让这更容易?
答案 0 :(得分:1)
我会写一个log4net的包装器来公开这样的方法:
void Debug(string message, IList elements);
实现可能如下所示(省略了一些细节):
public Debug(string message, IList elements)
{
// this.Logger returns a reference to ILog object
if (this.Logger.IsDebugEnabled)
{
string logMessage;
// build the string that you want to write to the log
this.Logger.Debug(logMessage);
}
}
这只是一个例子:您可以按照最适合您的方式设计界面。
Here你可以找到一些包装器的概念。
答案 1 :(得分:1)
使用NLog和Serilog,您可以执行以下操作:
Logger.Debug("Loading data for Producers: {producers}", prodsNames);
答案 2 :(得分:0)
将列表序列化为 XML ,记录 XML 字符串。
答案 3 :(得分:0)
有没有理由不使用string.Join()
?
Logger.Debug("Loading data for Producers: " + string.Join(" ", productsNames));