Serilog для регистрации запуска метода и полученных значений параметров - PullRequest
0 голосов
/ 29 мая 2018

У меня есть следующий конкретный вспомогательный класс Serilog и приложение WPF .Net 4.6.2:

public SerilogHelper()
    {
        Logger = CreateLogger();
    }

    private  ILogger CreateLogger()
    {

        string levelString = Properties.Settings.Default.SerilogLevel;

        SerilogLevel level = (SerilogLevel)Enum.Parse(typeof(SerilogLevel), levelString);

        var levelSwitch = new LoggingLevelSwitch();
        levelSwitch.MinimumLevel = (Serilog.Events.LogEventLevel)level;

        string acName = Properties.Settings.Default.LoggingAccountName;
        string acKey = Properties.Settings.Default.LoggingAccountKey;

        Microsoft.WindowsAzure.Storage.Auth.StorageCredentials creds = new Microsoft.WindowsAzure.Storage.Auth.StorageCredentials(acName, acKey);
        Microsoft.WindowsAzure.Storage.CloudStorageAccount azureAccount = new Microsoft.WindowsAzure.Storage.CloudStorageAccount(creds, true);

        return new LoggerConfiguration()
            .MinimumLevel.ControlledBy(levelSwitch)
            .WriteTo.File("log.txt", rollOnFileSizeLimit: true)
            .WriteTo.AzureTableStorage(azureAccount)
            .CreateLogger();
    }

При настройке я вызываю вспомогательные методы, такие как:

public  void WriteString(string content)
{
    Logger.Debug(content);
}

Я хотел бы создать метод для регистрации запуска метода, его имени и значений любых параметров.Таким образом, вызывающий метод будет выглядеть примерно так:

SerilogHelper.StartingMethod("My method name", params for my method)

Есть ли удобный способ сделать это?

...