【发布时间】:2015-10-13 08:14:43
【问题描述】:
原来我的一位同事在源代码中禁用了日志级别检查:
private static void Log(string source, EnumLogType logType, string msg)
{
....
switch (logType)
{
case EnumLogType.ERROR:
//if (log.IsErrorEnabled) { log.Error(logMsg); }
log.Error(logMsg);
break;
case EnumLogType.WARNING:
//if (log.IsWarnEnabled) { log.Warn(logMsg); }
log.Warn(logMsg);
break;
case EnumLogType.INFO:
//if (log.IsInfoEnabled) { log.Info(logMsg); }
log.Info(logMsg);
break;
case EnumLogType.VERBOSE:
//if (log.IsDebugEnabled) { log.Debug(logMsg); }
log.Debug(logMsg);
break;
default:
log.Debug(logMsg);
break;
}
}
所以我们的产品现在正在写入调试日志,即使配置文件中的级别设置为 ERROR。
有没有办法强制 log4net 只记录错误消息?换句话说,我可以强制log4net通过配置它来检查日志级别,而不需要编辑和重新编译源代码吗?
【问题讨论】: