在asp.netcore mvc中使用logger
新建的一个类, 或者在其他类库项目里的类 如何使用logger.
比如ClassA中的一个方法. 方法中间我想记录一段日志.
该如何获取log.
已知可将ClassA在ConfigureServices中注入, 在需要的地方获取.
这样.如果我有很多类需使用log那岂不是得注册好多类
可有别的方法.
services.addlongging();
service.addscope<A>();
service.addscope<B>();
使用的地方
class A{
public A(ILogger<A> logger){ this._logger=logger;}
public void myMethod(){
this._logger//use
}
}
class B{
public B(ILogger<B> logger)
}
thanks, 还有别的方法吗. 我在提问中已经说了是否还有除了这种以外的办法.
已知可将ClassA在ConfigureServices中注入, 在需要的地方获取.
这样.如果我有很多类需使用log那岂不是得注册好多类
@咖菲猫:
是的,你要这样想,这些好多类,如果你要用,你还是要new出来,现在有个统一的地方管理,可以让你知道有那些可以用。
如果觉得注册麻烦,可以考虑用autofac之类的帮你做一些自动发现。
其次,可以考虑使用一个静态共享变量把ILogger或者SericeProvider对象暴露出来。当然,这不推荐。
@czd890:
有道理, 多谢了.
使用依赖注入是更好的方式,如果你不想走正道,那可以用 Serilog 的静态方法
可是确实是有点多.
我用了一个第三方的SDK. 重写了里面的一部分功能. 在想其中插入一些调试的 log.
这样一来. 我得注入很多类. 又或者说. 这种方式才是"正道"?