我在先前的堆栈溢出中读到以下内容:“如果您的静态方法未更改任何成员变量,并且未在其参数上调用变异方法,则它是可重入的,因此是线程安全的”,我相信我的代码会遵守该规则,但我只是在寻求一些确认。下面是我的代码。
public static class Extensions
{
private static Logger _log = LogManager.GetLogger("PortalLog");
public static void NLoglogger(Exception ex, string loginId)
{
if (ex.InnerException == null)
{
LogEventInfo errorEvent = new LogEventInfo(LogLevel.Error, "PortalLog", ex.Message);
errorEvent.Properties["loginid"] = loginId ;
_log.Log(errorEvent);
}
else
{
LogEventInfo errorEvent = new LogEventInfo(LogLevel.Error, "PortalLog", ex.Message + "Inner Message: " + ex.InnerException.Message);
errorEvent.Properties["loginid"] = loginId;
_log.Log(errorEvent);
}
}
}