I've seen answers on constructor chaining but they don't apply for my problem.
I have a the following constructor that requires a couple of parameters:
public SerilogHelper(string conString, int minLevel)
{
var levelSwitch = new LoggingLevelSwitch();
levelSwitch.MinimumLevel = (Serilog.Events.LogEventLevel)(Convert.ToInt32(minLevel));
_logger = new LoggerConfiguration()
.MinimumLevel.ControlledBy(levelSwitch)
.WriteTo.MSSqlServer(connectionString: conString,
tableName: "Logs",
autoCreateSqlTable: true)
.CreateLogger();
}
One particular client of this constructor won't have the values required for the parameters so I'd like to be able to call this simple constructor which would get the required values then call the 1st constructor:
public SerilogHelper()
{
string minLevel = SSOSettingsFileManager.SSOSettingsFileReader.ReadString(
"LCC.Common", "serilog.level");
string conString = SSOSettingsFileManager.SSOSettingsFileReader.ReadString(
"LCC.Common", "serilog.connectionstring");
SerilogHelper(conString, minLevel);
}
Problem is, I get a red squiggly on the call to the 2nd constructor with the message SerilogHelper is a 'type' but used like a 'variable'