“遭万人唾弃”的.net core在3.0中终于可以在日志中打印时间戳了, 一个大家都觉得是炒鸡煎蛋的功能在github上挂了3年(https://github.com/aspnet/Logging/issues/483).
目前只发现在Microsoft.Extensions.Logging.Console中有这么一个TimestampFormat, 是不是也就意味着只能在Console Log中打印时间戳 ?
用法1, AddConsole时指定Format:
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddLogging(opt =>
{
opt.AddConsole(cfg => { cfg.TimestampFormat = "[yyyy-MM-dd HH:mm:ss]"; });
});
}
//...
}
}
用法2, appsettings.json中配置Format:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
},
"Console": {
"TimestampFormat": "[yyyy-MM-dd HH:mm:ss]"
}
}
//...
}