使用 log4net 时记录异常的最佳方法是什么

pub*_*tic 1 c# log4net

我应该在我的异常中记录什么,以便我可以了解所有详细信息?

catch(Exception ex)
{
  Logger.Error("Users.GetUser " + ex.??????);
}
Run Code Online (Sandbox Code Playgroud)

我应该只传递变量ex还是应该做:

ex.InnerException + ex.Message + ex.Source
Run Code Online (Sandbox Code Playgroud)

Sco*_*ain 5

Error 有一个将异常作为参数之一的重载。所以你的记录器应该是这样的

catch(Exception ex)
{
  Logger.Error("Users.GetUser", ex);
}
Run Code Online (Sandbox Code Playgroud)

然后你有责任确保你的 appender 也被设置为记录来自异常的信息。如果您查看他们的附加程序示例,他们有一个 MS SQL 附加程序,可将异常信息放入其自己的列中。

catch(Exception ex)
{
  Logger.Error("Users.GetUser", ex);
}
Run Code Online (Sandbox Code Playgroud)