log4net。为什么我偶尔会收到不遵循转换模式的日志?

问题描述 投票:0回答:1

在我们的项目中,大约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

关于为什么会发生这种情况的任何想法?

log4net是否具有不符合指定转换模式的全局捕获?

c# .net log4net log4net-configuration log4net-appender
1个回答
0
投票

您能为完全相同的日志代码行使用两种格式吗?还是总是特定的日志消息具有意外的格式?

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.