代码之家  ›  专栏  ›  技术社区  ›  Emad Gabriel

使用log4net(或其他日志框架)记录列表中所有项目的简单方法是什么?

  •  1
  • Emad Gabriel  · 技术社区  · 14 年前

    我通常有一些方法。 我需要把结果记录在这个列表里。

    有没有比像这样循环列表中的项目并逐个打印更好的方法?

    foreach(string productName in productsNames)
                {
                    prodsNames.Append(productName + " ");
                }
    Logger.Debug("Loading data for Producers: " + prodsNames);
    

    4 回复  |  直到 14 年前
        1
  •  1
  •   Community CDub    7 年前

    我将为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

        2
  •  1
  •   Rolf Kristensen Raúl Diego    6 年前

    使用NLog和Serilog,您可以做到:

    Logger.Debug("Loading data for Producers: {producers}", prodsNames);
    

    另请参见 https://messagetemplates.org/

        3
  •  0
  •   Ashley    14 年前

    XML格式 ,记录 XML格式

        4
  •  0
  •   Anubis    6 年前

    有什么理由不使用吗 string.Join()

    Logger.Debug("Loading data for Producers: " + string.Join(" ", productsNames));