我正在使用 Nlog 并尝试将其发布到 CosmosDB(DocumentDB) 目标
使用 https://www.nuget.org/packages/Nlog.DocumentDBTarget/
我的配置代码看起来像这样
var documentDBTarget = new DocumentDBTarget()
{
Name = "logDocument",
EndPoint = "https://[my endpoint].documents.azure.com:443/",
AuthorizationKey = "[my auth key]",
Collection = "[my collection]",
Database = "[my database]",
Layout=jsonLayout
};
config.AddTarget(documentDBTarget);
config.AddRuleForAllLevels(documentDBTarget);
我已经声明了 jsonLayout,然后我配置了记录器并使用它来开始记录。当我登录到本地文件目标或控制台目标时,这工作正常,但它不适用于 cosmosDB
LogManager.Configuration =config;
Logger logger = LogManager.GetLogger("Example");
logger.Info("{object}");
我错过了什么? https://github.com/goto10hq/NLog.DocumentDB?files=1 的文档
我没有找到任何关于使用 Nlog 发布的信息我只找到了关于配置它的信息,我相信我做对了
谢谢
最佳答案
在我的电脑上工作。您尝试记录的对象是否与 JSON 布局一致?
var jsonLayout = new JsonLayout()
{
Attributes =
{
new JsonAttribute("name", "${name}"),
new JsonAttribute("level", "${level}"),
new JsonAttribute("message", "${message}"),
}
};
…
logger.Info(new
{
Name = "SomeName",
Level = "SomeLevel",
Message = "HelloWorld"
});
关于c# - Nlog 发布到 CosmosDB 目标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53800336/