Регистрация персидских сообщений с NLog - PullRequest
1 голос
/ 05 октября 2019

В моем проекте ASP.NET MVC у меня есть ниже config в Web.config, как показано ниже:

 <configSections>
    <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" />
  </configSections>
  <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <targets>
      <target name="default" xsi:type="File" fileName="logs/app-log.txt" layout="
--------------------- ${level} (${longdate}) ----------------------$
IP: ${aspnet-request-ip}
Call Site: ${callsite}
${level} message: ${message}"/> archiveFileName="logs/archives/app-log.{#}.txt" archiveEvery="Day" archiveNumbering="Rolling" maxArchiveFiles="7" />
    </targets>
    <rules>
      <logger name="*" writeTo="default" />
    </rules>
  </nlog>

Если мое сообщение журнала написано на персидском тексте, то в файле журнала у меня есть вопросительный знак как ?????вместо персидского текста.

Как я могу решить эту проблему? Любая помощь будет оценена!

Ответы [ 2 ]

2 голосов
/ 05 октября 2019

Я добавил encoding="UTF8" атрибут в целевой элемент

0 голосов
/ 05 октября 2019

Как @ramesh указал на tru, используя Encoding="utf-16", а также попробуйте writeBom="true".

Документация по nlog для этого целевого файла: https://github.com/NLog/NLog/wiki/File-target, и она может помочь вам.

...