Я использую хранилище таблиц Nlog & Azure, и моя запись в журнал (LoggerExtensions.cs) выглядит следующим образом.
TestMessageAction = LoggerMessage.Define<string>(
LogLevel.Error,
new EventId(1000, nameof(TestMessage)),
"Test Error Message (Key = {key})");
public static void TestMessage(this ILogger logger, string key, Exception ex)
{
TestMessageAction(logger, key, ex);
}
Это нормально работает, если целью является файл или база данных.Не работает нормально в лазурном столе хранения.
Пример:
для того же кода выше, я вижу ниже в файле
Test Error Message (Key = ef5bbee2-ac68-4dee-8497-54d5d9691a92)
, но в хранилище таблиц Azure
Test Error Message (Key = key)
иЦель Nlog для хранения таблиц Azure: Nlog.config
<target xsi:type="AzureTableStorage"
name="NLogAzureTable"
layout="${longdate}|${event-properties:item=EventId.Id}|${logger}|${uppercase:${level}}|${message} ${exception}"
connectionString="******"
tableName="ServiceLogs"
logTimeStampFormat="O" />
<rules>
<logger name="*" minlevel="Info" writeTo="NLogAzureTable"></logger>
</rules>
Журналы Azure выглядят нормально, если я не использую LoggerMessage.
_logger.LogInfo($"Test Info : {key}");
пишет
Информация о тестировании: ef5bbee2-ac68-4dee-8497-54d5d9691a92
Пожалуйста, дайте мне знать, чего мне здесь не хватает.
Спасибо.