NLog + Azure 函数 3.1
Azure 函数启动类
public override void Configure(IFunctionsHostBuilder builder)
{
var logger = LogManager.Setup()
.SetupExtensions(e => e.AutoLoadAssemblies(false))
.LoadConfigurationFromFile(currentDirectory + Path.DirectorySeparatorChar + 'NLog.config')
.GetLogger(configuration.GetSection('logging:nlog:defaultloggername')?.Value);
builder.Services.AddLogging((logger) =>
{
//logger.ClearProviders();
logger.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);
logger.AddNLog();
}).BuildServiceProvider();
}
//NLog.config
<variable name='commonLayout' value='${longdate}|${logger}|${uppercase:${level}}|${message}, ${all-event-properties:format=[key]=[value]:separator=, } ${exception}' />
天蓝色函数
public FunctionA(ILogger<FunctionA> logger){}
结构化日志记录不适用于 Azure 函数 3.1。loggername 吐出 FunctionA,我该如何更改它以在 Azure 函数中使用 NLog 对象。注意:我使用的是 Azure Function 3.1,不过我可以在 .net core 2.1 中注入 NLog。