在 Azure 函数中配置 NLog
Dispose NLog in Azure Function
我想在 Azure Functions Startup class 中添加 NLog,如下所示:
public class Startup : FunctionsStartup {
public Startup()
{
var logger = NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();
}
public override void Configure(IFunctionsHostBuilder builder) {
... other setup code
builder.Services.AddLogging((loggingBuilder) =>
{
loggingBuilder.AddNLog();
});
}
}
根据 Nlog,您应该使用 NLog.LogManager.Shutdown()
手动关闭记录器。
如何在Azure Function中配置NLog?
如果我对你的问题的理解正确,你想在处理 Azure 函数实例时关闭 NLog。在这种情况下,您可以执行以下操作:
public class Startup : FunctionsStartup {
public Startup()
{
var logger = LogManager.Setup()
.SetupExtensions(e => e.AutoLoadAssemblies(false))
.LoadConfigurationFromFile("nlog.config", optional: false)
.LoadConfiguration(builder => builder.LogFactory.AutoShutdown = false)
.GetCurrentClassLogger();
}
public override void Configure(IFunctionsHostBuilder builder) {
// other setup code
builder.Services.AddLogging((loggingBuilder) =>
{
loggingBuilder.AddNLog(new NLogProviderOptions() { ShutdownOnDispose = true });
});
}
}
现在 NLog 将挂接到 Microsoft 扩展日志记录的生命周期(禁用 AutoShutdown
并启用 ShutdownOnDispose
)
我想在 Azure Functions Startup class 中添加 NLog,如下所示:
public class Startup : FunctionsStartup {
public Startup()
{
var logger = NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();
}
public override void Configure(IFunctionsHostBuilder builder) {
... other setup code
builder.Services.AddLogging((loggingBuilder) =>
{
loggingBuilder.AddNLog();
});
}
}
根据 Nlog,您应该使用 NLog.LogManager.Shutdown()
手动关闭记录器。
如何在Azure Function中配置NLog?
如果我对你的问题的理解正确,你想在处理 Azure 函数实例时关闭 NLog。在这种情况下,您可以执行以下操作:
public class Startup : FunctionsStartup {
public Startup()
{
var logger = LogManager.Setup()
.SetupExtensions(e => e.AutoLoadAssemblies(false))
.LoadConfigurationFromFile("nlog.config", optional: false)
.LoadConfiguration(builder => builder.LogFactory.AutoShutdown = false)
.GetCurrentClassLogger();
}
public override void Configure(IFunctionsHostBuilder builder) {
// other setup code
builder.Services.AddLogging((loggingBuilder) =>
{
loggingBuilder.AddNLog(new NLogProviderOptions() { ShutdownOnDispose = true });
});
}
}
现在 NLog 将挂接到 Microsoft 扩展日志记录的生命周期(禁用 AutoShutdown
并启用 ShutdownOnDispose
)