C# Serilog to log方法启动和接收的参数值

C# Serilog to log方法启动和接收的参数值,c#,serilog,C#,Serilog,我有以下具体的Serilog助手类ine a.Net 4.6.2 WPF应用程序: public SerilogHelper() { Logger = CreateLogger(); } private ILogger CreateLogger() { string levelString = Properties.Settings.Default.SerilogLevel; SerilogLevel lev

我有以下具体的Serilog助手类ine a.Net 4.6.2 WPF应用程序:

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();
    }
通过things设置,我调用以下帮助器方法:

public  void WriteString(string content)
{
    Logger.Debug(content);
}
我想创建一个方法来记录一个方法已经启动,它的名称和任何参数的值。因此,调用方法类似于:

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

有没有一种简洁的方法可以做到这一点?

传递给Serilog的字符串应该是常量以外的任何内容。确保已阅读。您可能仍需要枚举所有参数。对日志函数的调用如下所示:WriteString(nameof(MyFunction)、param1、param2、param3)和声明将是WriteString(string functionName、params object[]data)。