войти 4net. Почему я иногда получаю журналы, которые не соответствуют шаблону конверсии? - PullRequest
0 голосов
/ 07 февраля 2020

В нашем проекте около 95% наших журналов форматируются в соответствии с настроенным нами шаблоном преобразования. Однако время от времени мы получаем блуждающий журнал, который не соответствует.

Это наша конфигурация

<log4net>
    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
      <file value="Logs\nsc.latest.log"/>
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
      <appendToFile value="true"/>
      <maxSizeRollBackups value="10 " />
      <maximumFileSize value="100MB" />
      <rollingStyle value="Size"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value='{ "level":"%level", "timestamp":"%utcdate{yyyy-MM-ddTHH:mm:ss.fffZ}", "logger":"%logger", "message":"%message" }%newline' />
      </layout>
    </appender>

    <root>
      <level value="ALL" />
      <appender-ref ref="RollingFile" />
    </root>
</log4net>

и наш код запуска

[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace NSCApp
{
    public class MvcApplication : System.Web.HttpApplication
    {
        log4net.Config.XmlConfigurator.Configure();
        ///Rest of code...
    }

}

и это это то, что мы обычно получаем, это то, что мы хотим

{ "level":"INFO", "timestamp":"2020-02-05T23:46:59.295Z", "logger":"", "message":"{"Application":"NSC App","ExpirationDateTime":"2020-02-05T22:46:59.2926871-07:00","SessionId":"00D80000000K5KK!AQsAQAAM7dU1tiCe1BHXL2NDcMiJU4prh8CnAgnHQ8jf6cYLYZgVo2FfkwFNm10b1eUA0gBSFPn_GFhDKwmye79fNQXoH2Cl","User":"nscapi@extraspace.com"}" }

, но иногда мы получаем такое, как это

System.ArgumentNullException: Value cannot be null.
Parameter name: input
   at System.Text.RegularExpressions.Regex.Replace(String input, String replacement)
   at System.Text.RegularExpressions.Regex.Replace(String input, String pattern, String replacement)
   at CodeBase.Tools.ConvertToAlphaNumeric(String term) in C:\Code\TestRepos\extraspace.web.codebase\Tools.cs:line 2019
   at CodeBase.Salesforce.LookupReservation(Config config, String opptyID) in C:\Code\TestRepos\extraspace.web.codebase\Salesforce.cs:line 1074

Есть мысли о том, почему это может происходить?

Есть ли в журнале 4net глобальные перехваты, которые не соответствуют указанному шаблону преобразования?

Обновление

Я только что обнаружил, что блуждающие журналы происходят из функции Application_Error в файле Global.asax.cs.

Это выходит за рамки конфигурации журнала 4net в файле web.config?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...