Вы можете делать то, что делает большинство библиотек журналов, и явно указывать в своем API:
public class Logger
{
private const string Warn = "Warn";
private const string Info = "Info";
public LogInfo(string message)
{
Log(Info, message);
}
public LogWarn(string message)
{
Log(Warn, message);
}
private Log(string trigger, string message)
{
// do something
}
}
В качестве другого варианта вы можете выбрать метод private Log
, описанный выше, как часть вашего публичного API. В этом случае я бы извлек LogLevel как перечисление и использовал бы его в качестве аргумента триггера вместо использования string