NLog容器名称格式

时间:2016-02-28 23:55:34

标签: azure logging nlog azure-table-storage slash

当容器名称有'/'且没有任何异常时,NLog不工作吗? 我在我的应用程序的一个地方有以下代码:

    _log.AddLog("TestController", "Just test", LogLevel.INFO);

它工作正常(写入我的Azure表存储)。但我在另一个地方有以下代码:

                _log.AddLog("PricingController/PaymentCreditCard", p_ex.Message, LogService.LogLevel.WARN);

并且没有任何错误/异常它不起作用。只是不写任何东西。我花了大约1个小时来搜索原因并发现,没有'/'它可以工作。我已阅读NLog文档,但未在容器名称中找到任何关于斜杠的单词。或者是包装器的问题,它写入Azure表存储?

2 个答案:

答案 0 :(得分:0)

您正在写入Azure表存储,Azure表存储没有容器的概念,结构很简单:存储帐户>表>实体,查找更多信息here。因此,您需要指定表名而不是容器名称和Azure表存储的表名不允许使用“/”斜杠。我建议你仔细检查名称,我想你可能会指定一个blob容器,因此它不起作用。

答案 1 :(得分:0)

正如Gaurav Mantri上面所说的那样,问题在于PartitionKey,其中符号'/'被拒绝 https://msdn.microsoft.com/en-us/library/azure/dd179338.aspx“关键字段中不允许使用的字符”