使用
配置日志记录LogManager.LogFactory = new Log4NetFactory(configureLog4Net: true);
它可以在任何地方使用
ILog log = LogManager.GetLogger("foo);
log.Error("foo");
我明白了。问题是服务堆栈对各种内置内部消息使用相同的记录器。例如,如果为不存在的路由提交了请求,则服务堆栈记录" ServiceStack.Host.Handlers.NotFoundHttpHandler - :: 1请求未找到:"。
有没有办法禁用或关闭这些内部消息?
答案 0 :(得分:1)
如果你正在使用Log4Net,你应该能够filter Log messages by type,否则可以通过覆盖在AppHost中控制一些ServiceStack的内部日志记录:
public override void OnLogError(Type type, string message, Exception innerEx=null)
{
if (!SuppressLogs(type))
base.OnLogError(type, message, innerEx);
}
我刚刚更改了NotFoundHttpHandler
来路由邮件,以便将错误消息从this commit发送到OnLogError()
,这样您就可以通过覆盖上述方法来抑制邮件。
此更改可从v4.0.61获得,现在为available on MyGet。