I recently added logging to my ASP.Net Core project. Currently the log writes to a .txt file in this format:
{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] {Message}{NewLine}{Exception}
For example:
2017-11-30 13:58:22.229 +01:00 [Information] Item created in database.
This is fine but I would like to have the name of the class that logs and the method that is being executed to this .txt file. For example when Class A writes something to the database using Method B and logs this, I would like to see something like
ClassA.MethodB: Item created in database
All the classes that log have their Logger injected into their constructors like
public class ClassA
{
    private readonly ILogger _log;
    public ClassA(ILogger<ClassA> log){
        _log = log;
    }
    public void AddItemToDb(Item item){
        //Add item
        //On success: 
        _log.LogInfo("Added item to db.");
    }
}
I'm currently using Serilog and using the following LoggerConfiguration:
var logger = new LoggerConfiguration()
    .MinimumLevel.Verbose()
    .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
    .WriteTo.RollingFile(Configuration.GetValue<string>("LogFilePath") + "-{Date}.txt", LogEventLevel.Information)
    .CreateLogger();
How can I add the class and method to my logs?
Edit
I added a custom outputTemplate to the .WriteTo.Rollingfile() method like so:
"{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] ({SourceContext}) {Message}{NewLine}{Exception}")
Which resulted in the namespace plus the class to be added in the log, only the method is missing now