NLog: logger.Error(string, Exception, param objects[] args) 函数不记录我的异常

NLog: logger.Error(string, Exception, param objects[] args) function doesn't log my exception

我在使用这段代码记录异常时遇到问题:

Logger.logger.Error("Exception occured", ex, "");

因为它只记录消息,但是当我使用带有 2 个参数的相同函数时它会工作,尽管它已经过时,这就是我不愿意使用它的原因。

这是一段有效的代码,我目前正在使用:

Logger.logger.Error("Exception occured", ex);

如有任何帮助,我们将不胜感激。谢谢!

你好像弄错了参数顺序。首先应该是异常,其次是消息

来自 NLog 来源

public void Error(Exception exception, [Localizable(false)] string message)

public void Error(Exception exception, [Localizable(false)] string message, params object[] args)

NLog 更改了函数。

在一些旧版本中你有:

_logger.ErrorException("My Message", myException);

现在类型异常的第一个参数:

_logger.Error(myException, "My Message: {0}", myException.Message);

..ErrorException() 现在已过时..