no host下的Microsoft.Extensions.Logging使用
用法如下,需要注意的是在非host情况下使用创建loggerFactory
时必须要使用using语句。logger.log***
是非阻塞语句,不使用using可能会导致程序在logger输出完成前退出,从而导致logger内容不全。
class Program{
static void main(string[] args){
using (var loggerFactory = LoggerFactory.Create(builder =>
{
builder.AddFilter("", level);
builder.AddConsole();
})) {
var logger = loggerFactory.CreateLogger<Program>();
logger.LogTrace("this is trace");
logger.LogDebug("this is debug");
logger.LogInformation("this is information");
logger.LogWarning(logLevelWarning == "" ? "this is warning" : logLevelWarning);
logger.LogError("this is error");
logger.LogCritical("this is critical");
}
}
}
其它:
Microsoft.Extensions.Logging规定了七个输出级别,分别为Trace,Debug,Information,Warning,Error,Critical和None
过滤级别为trace时不过滤任何输出,过滤级别为None时无任何输出
要查看某一级别是否被过滤可调用logger.IsEnabled(LogLevel.Critical);
查看,若为True则正常输出,若为False则无输出