只需将代码放在您需要的地方。
开始我只是在我需要的每一页中使用这条线......
static Logger log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
所以记录器获取当前类的名称,包括完整的命名空间。我还使用 global.asax 中的记录器,例如错误记录
protected void Application_Error(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
sb.Append("Unhandled error occured in application. Sender: ");
sb.AppendLine(Request.RawUrl);
sb.Append("Query: ");
sb.AppendLine(Request.QueryString.ToString());
Exception ex = Server.GetLastError().GetBaseException();
log.Error(sb.ToString(), ex);
Server.ClearError();
Response.Redirect("~/Error.aspx");
}
但我将日志配置与 web.config 分开。这对我来说更容易,你不必处理这么大的文件。我还认为,当您更改日志配置文件时,该应用程序没有重新启动。据我所知,如果您更新 web.config 应用程序总是重新启动。
要做到这一点,您只需在 add 中将以下内容添加到 web.config
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
而不是在 web.config 中的某处添加这一行
<log4net configSource="log.config"/>
然后文件“log.config”配置了所有侦听器。但不要忘记将文件复制到您的生产/测试环境。否则您可能会收到奇怪的错误消息。
hth