有什么方法可以在asp.net core 2中记录如下内容?
_logger.LogInformation("Someone did something! \r\n{detail}", new {
SomeObject = someVariable,
SomeOtherObject = someOtherVariable
});
我已经尝试过使用序列化的值,但是生成的json似乎被截断了。
答案 0 :(得分:2)
您尝试使用的参数用于args,通常用于消息的字符串内插。某些日志记录提供程序(例如Serilog)会将这些args持久化为JSON,但随后您将依赖于特定的提供程序及其选择处理方式。
如果您的目标是简单地将{detail}
替换为JSON对象,则只需在消息中直接执行此操作即可:
var detail = JsonConvert.SerializeObject(new
{
SomeObject = someVariable,
SomeOtherObject = someOtherVariable
});
_logger.LogInformation($"Someone did something! \r\n{detail}");