【发布时间】:2020-05-06 07:34:12
【问题描述】:
在 Linux 机器上使用 kestrel 运行 asp.net 核心应用程序。如果一行包含西里尔符号,则 SSH 控制台输出看起来很奇怪。有没有办法配置 nlog 用translit 替换西里尔符号? 错误输出示例
06.05.2020 09:57:11.650||TRACE||<<Session:831259AB-493A-4215-89BB-81FF8802C714||Node:[[7_11 ▒вод индек▒а ▒ег▒л▒▒ной до▒▒авки]]||Phone: >>
Nlog 目标:
<target name="Console" xsi:type="ColoredConsole" useDefaultRowHighlightingRules="false" layout="============================================================================================${newline} ${date:format=dd.MM.yyyy HH\:mm\:ss.fff}||${pad:padding=5:inner=${level:uppercase=true}}||<<Session:${pad:padding=36:inner=${event-properties:item=sessionId:uppercase=true}}||Node:[[${event-properties:item=nodename}]]||Phone:${pad:padding=13:inner=${event-properties:item=number:uppercase=true}}>>${newline} ${message}" >
如果有一种方法可以在不更改 Linux 配置的情况下正确显示西里尔符号,那将是可以接受的。
【问题讨论】:
-
不知道您使用的是什么目标,但 Console-Target 和 File-Target 都有编码选项。尝试将其更改为 UTF8
-
这是我的目标:
-
用更多的细节更新您的问题,而不是用 cmets 编写(StackOverflow 上的一般规则)。当你使用
Encoding="UTF-8"时会发生什么?
标签: asp.net-core logging nlog transliteration kestrel