我知道您可以在程序或控制器中使用 ILogger 的依赖注入,因此日志消息可能会出现在控制台和其他记录器中。但是,在.net core库中,我想使用Trace.TraceError()和Trace.TraceInformation()等,甚至使用TraceSource。
是否可以使 Trace.TraceError(...) 中的内容出现在 .NET Core 控制台和其他记录器中?
只需在库的构造函数中包含一个 ILogger 即可。 然后,对记录器上 Log 方法的调用将传递到已在配置中添加的任何 LoggerProvider(跟踪、控制台等)。
public class MyLib
{
private ILogger _logger;
public MyLib(ILogger<MyLib> logger)
{
_logger = logger;
}
public void DoSomething()
{
_logger.LogInformation("Info")
_logger.LogError("Error")
}
}