Serilog in Azure Functions

Please try the code below, it works at my side:

    [assembly: WebJobsStartup(typeof(Startup))]
    namespace MyApp
 {
        public class Startup : IWebJobsStartup
        {
            public void Configure(IWebJobsBuilder builder)
            {
                //other code

                builder.Services.AddLogging();
            }
        }



    public class Functions
    {
        //other code
        private ILogger _log;

        public Functions(ILoggerFactory loggerFactory)
        {
            _log = loggerFactory.CreateLogger<Functions>();
        }

        [FunctionName("Token")]
        public async Task<IActionResult> Function1(
            [HttpTrigger()]...)
        {
               _log.LogInformation("Function1 invoked");
        }
    }

}

It is possible to further simplify the necessary setup by using the package Anotar.Serilog.Fody (and any other Anotar package for that matter)

You need to set up Serilog all the same in the Startup class.

However, with the Fody package you can completely get rid of the injected logger

using Anotar.Serilog;

public class Functions
{
    [FunctionName("Token")]
    public async Task<IActionResult> Function1(
        [HttpTrigger()]...)
    {
        // static calls to the LogTo class
        // get translated into proper Serilog code during build
        LogTo.Information("Function1 invoked");
    }
}