Интерполяция строк LoggerMessage не работает - хранилище таблиц NLOG и Azure - PullRequest
0 голосов
/ 03 декабря 2018

Я использую хранилище таблиц 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

Пожалуйста, дайте мне знать, чего мне здесь не хватает.

Спасибо.

1 Ответ

0 голосов
/ 03 декабря 2018

Не уверен, что это ошибка, но вы можете увидеть здесь:

https://github.com/JDetmar/NLog.Extensions.AzureStorage/blob/6ed03bfa183b231dffeb3733b912c87fe8efc6f6/src/NLog.Extensions.AzureStorage/NLogEntity.cs#L24

Затем он делает это:

Message = logEvent.Message;

Вместо этого:

Message = logEvent.FormattedMessage;

Вы должны увидеть, что FullMessage содержит правильное форматирование.

Возможно, создайте проблему и спросите сопровождающего проекта: https://github.com/JDetmar/NLog.Extensions.AzureStorage/issues

...