C# Serilog to log方法启动和接收的参数值
我有以下具体的Serilog助手类ine a.Net 4.6.2 WPF应用程序: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
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)。