Microsoft.Azure.ServiceBus.Message.CorrelationId
属性。
public static class Function2
{
[FunctionName("Function2")]
public static void Run([ServiceBusTrigger("test-pm")]Message myQueueItem, ILogger log)
{
log.LogInformation($"C# Queue trigger function processed: {myQueueItem}");
}
}
到目前为止,我能够丰富我的日志与我自己的ILogEventEnricher和代码执行预期每次我记录。这不仅不管用,而且我认为这根本不是正确的方法。
using Microsoft.Azure.Functions.Extensions.DependencyInjection;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Hosting;
using Serilog;
using Serilog.Core;
using Serilog.Events;
[assembly: FunctionsStartup(typeof(AzureStuff.MyStartup))]
namespace AzureStuff
{
public class MyStartup : IWebJobsStartup
{
public void Configure(IWebJobsBuilder builder)
{
Log.Logger = new LoggerConfiguration()
.Enrich.FromLogContext()
.Enrich.With<MyEnricher>()
.WriteTo.Debug()
.CreateLogger();
}
}
public class MyEnricher : ILogEventEnricher
{
public void Enrich(LogEvent logEvent, ILogEventPropertyFactory propertyFactory)
{
}
}
}
FunctionExecutingContext
进入
MyEnricher
因为
Enrich.With<TEnricher>
有一个
new()
对泛型的约束。