Это не поддерживается "из коробки", так как транслитерация также не поддерживается "из коробки". NET.
Но, к счастью, вы можете добавить это без особых хлопот.
Я использую пакет NuGet NickBuhro.Translit
Install-Package NickBuhro.Translit
И добавьте этот макет оболочка рендерера
using System;
using NLog.Config;
using NLog.LayoutRenderers;
using NLog.LayoutRenderers.Wrappers;
using NickBuhro.Translit;
namespace MyExample
{
/// <summary>
/// Translit to latin. Usage: ${translit:${message}} or ${message:translit=true}
/// </summary>
[LayoutRenderer("translit")]
[AmbientProperty("translit")]
[ThreadAgnostic]
[ThreadSafe]
public class TranslitLayoutRendererWrapper : WrapperLayoutRendererBase
{
protected override string Transform(string text)
{
var latin = Transliteration.CyrillicToLatin(text, Language.Russian);
return latin;
}
}
}
и зарегистрируйтесь как можно скорее, например, в main () перед запуском NLog (помните о полях stati c)
NLog.LogManager.Setup().SetupExtensions(s =>
s.RegisterLayoutRenderer<TranslitLayoutRendererWrapper>("translit")
);
И теперь вы можете используйте ${translit:${message}}
или ${message:translit=true}