Наша низкоуровневая библиотека журналов справляется со всеми видами сообщений журнала, отправляемых ей.
Некоторые из этих сообщений содержат фигурные скобки (как часть текста), а некоторые содержат параметры, которые должны быть отформатированы какчасть строки с использованием String.Format
Например, эта строка может быть входом для класса Logger:
"Параметр: {Имя хоста} Значение: {0}" С правильной переменнойотправлено на использование для форматера.
Чтобы правильно это сделать, я должен убрать фигурные скобки, которые не являются частью форматирования (удвоив их).
Я думал о том, чтобы сделатьон использует Regex, однако это не так просто, как может показаться, поскольку я понятия не имею, как сопоставить эти строки внутри фигурных скобок (те, которые НЕ используются String.Format для форматирования).
Другая проблема заключается в том, что класс Logger должен быть максимально эффективным с точки зрения производительности, начиная с обработки регулярных выражений, поскольку часть его работы может снижать производительность.
Is thЕсть ли подходящая и известная лучшая практика для этого?