gpt4 book ai didi

c# - 尝试将对象的属性放入记录器时出错,NLog

转载 作者:太空宇宙 更新时间:2023-11-03 22:30:07 24 4
gpt4 key购买 nike

当我尝试使用 NLog 放置应用程序日志以查看对象的属性时,它给我错误

_logger.Info("token :{0}, Object:{1}", "token", Object.Select(y => new { y.Id, y.Name, y.Charge})); 

此显示错误“System.Linq.Enumerable+WhereSelectListIterator”。

然后我尝试将其转换为 List as:

_logger.Info("token :{0}, Object:{1}", "token", Object.Select(y => new { y.Id, y.Name, y.Charge}).ToList()); 

然后错误显示为“System.Collections.Generic.List`1[<>f__AnonymousType1]”。

我似乎无法记录这个对象。有帮助吗?

最佳答案

如果你只是想stringify对象你可以使用@

_logger.Info("token :{0}, Object:{@1}", "token", Object.Select(y => new { y.Id, y.Name, y.Charge}).ToList()); 

但是我建议切换到结构化日志记录:https://github.com/NLog/NLog/wiki/How-to-use-structured-logging

_logger.Info("token :{token}, Object:{object}", "token", Object.Select(y => new { y.Id, y.Name, y.Charge})); 

根据上述文档,它应该正确呈现 匿名对象的集合。否则,您只需添加 @ 即可将对象序列化为 JSON 表示形式。

关于c# - 尝试将对象的属性放入记录器时出错,NLog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58336723/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com