【发布时间】:2016-09-07 10:59:56
【问题描述】:
我的日志服务代码:
public class LogService
{
private static LogService _instance;
public static LogService Instance
{
get
{
if (_instance == null)
_instance = new LogService();
return _instance;
}
}
}
public void ErrorLog(string log)
{
Trace.TraceError(log);
}
public void WarningLog(string log)
{
Trace.TraceWarning(log);
}
}
我想要一种干净的方式来启用和禁用此服务。 例如:
if (some_variable == false) {
// ignore all logService calls
}
最好的方法是什么?
【问题讨论】:
-
我认为你写的方式是正确的(存储启用/禁用标志)
-
从
web.config中读取一个属性,如果它满足您指定的条件,则启用该服务。如果没有,请禁用该服务。 -
恕我直言,您不应该这样做。相反,您应该控制正在使用该服务的侦听器在某处写入输出。所以只需禁用/删除任何监听器。这就是有多少日志框架在起作用。
-
大家好,我想以一种干净的方式使用标志。我不想检查 ErrorLog 函数中的那个标志(例如,我会有更多),并且只有当值为 T 时才能调用 Trace.TraceError(log)。我相信有更好的方法,我错了吗?
-
您想在什么情况下启用/禁用?在应用程序启动时还是在运行时?
标签: c# asp.net service error-log