c# - Log4Net 如何同时使用 ErrorFormat 和 Error

标签 c# log4net

在 log4net 中有 2 个非常好的函数:

Log.Error("Message", myException);

Log.ErrorFormat("Message {0}", CustomerId);

在输出日志文件中产生的日志记录非常漂亮。异常一个很好,因为它很好地打印堆栈跟踪和所有异常详细信息,格式一个很好,因为它允许我指定导致失败的参数。是否有“两全其美”的方法,或者有什么方法可以做到这一点?

Log.ErrorFormatEx("Message {0}", CustomerId, myException)

编辑:我经历了可能重复的问题,但它们的格式很糟糕,不要完全这样问。我正在寻找扩展方法或现有方法

最佳答案

您可以创建一个扩展方法:

namespace log4net.Core
{
    public class Log4NetExtensions 
    {    
         public static void ErrorFormatEx(this ILog logger, string format, Exception exception, params object[] args) 
         {
               logger.Error(string.Format(format, args), exception);
         }
    }
}

然后您可以像使用任何其他 Log4Net 方法一样使用它:

Log.ErrorFormatEx("Message {0}", exception, CustomerId);

关于c# - Log4Net 如何同时使用 ErrorFormat 和 Error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30093593/

相关文章:

c# - 如何解决重定向循环

c# - 使用 If Else-If 语句声明不同类型的变量

Azure 和 log4net - 删除进程名称

json - 未读取 Log4net Json 自定义属性

.net - 如何从头开始以编程方式配置 log4net(无配置)

c# - 如何在 C# 中结束中断线程

c# - WCF服务将数据集与数据类作为返回类型

c# - 工具提示或类似的东西在 WPF 中随光标移动

log4net - 使用 Log4Net 将当前日期附加到日志文件

nhibernate - 禁用 NHibernate 日志记录