在 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/