我们的低级日志库必须处理发送给它的各种日志消息。
其中一些消息包括大括号(作为文本的一部分),一些包含要使用 String.Format 格式化为字符串的一部分的参数
例如,此字符串可以是 Logger 类的输入:
“参数:{Hostname} 值:{0}”发送正确的变量以供格式化程序使用。
为了正确地做到这一点,我必须转义不属于格式的花括号(通过将它们加倍)。
我想过使用正则表达式来做,但这并不像看起来那么简单,因为我不知道如何在花括号内匹配这些字符串(String.Format 不用于格式化目的的字符串)。
另一个问题是 Logger 类应该尽可能提高性能,开始处理正则表达式作为其操作的一部分可能会降低性能。
是否有任何适当且已知的最佳实践?