我正在使用 Serilog 将我们的 log4net 记录器替换为结构化日志记录。我想使用 Enum 在代码中强制执行标记,但我在如何执行时遇到了一些困难。
现在我的日志看起来像这样:
logger.ErrorFormat("Proxy Logic for the Item {Item} failed. Swallow exception", Item);
当ErrorFormat签名是
void ErrorFormat(string format, params object[] args);
但我不知道如何替换Item为类似LogTags.TagA. 当 TagA 是一个 Enum 时,它会给我一种方法来为我的标记强制执行统一的标准。
所以它看起来像:
public enum LogTags
{
TagA,
...
}
public class Foo
{
public void DoError()
{
logger.ErrorFormat("Proxy Logic for the Item {@LogTags.TagA} failed. Swallow exception", Item);
}
}
实现这一目标的最佳实践是什么?
元芳怎么了
相关分类