Я обновляю программу на C #, в которой был простой статический класс FileLogger, который просто записывает строку в текстовый файл. Я хочу использовать log4net. Вместо того, чтобы извлекать класс FileLogger, я решил просто переписать этот класс для использования log4net. У класса есть метод, подпись которого:
WriteMessage(string message)
Я хочу заменить это методом, который использует эту подпись:
WriteMessage(string message, log4net.core.Level level)
Но единственный способ, которым я знаю, чтобы писать сообщения в log4net - это использовать ILog.Debug (), ILog.Warn () и так далее. Если это все, что у меня есть, у меня должен быть действительно ужасный оператор switch в моем методе WriteMessage (). Разве нет лучшего способа?
Редактировать: я даже не могу использовать переключатель на объекте log4net.Core.Level, потому что Level - это класс, а не перечисление. Мне, вероятно, следует просто полностью удалить FileLogger и использовать log4net так, как он должен был быть использован, но мне по-прежнему любопытно. Мне бы хотелось иметь метод написания сообщений, который использует уровень в качестве параметра.