简体   繁体   English

默认log4net配置

[英]default log4net configuration

I have the following code: 我有以下代码:

    public Log4NetLogger()
        : base(LogLevel.Debug)
    {
        if(!LogManager.GetRepository().Configured)
        {
            lock(mLocker)
            {
                if(!LogManager.GetRepository().Configured)
                {
                    XmlConfigurator.Configure();
                }
            }
        }

        mLog4NetInstance = LogManager.GetLogger(typeof(Log4NetLogger));
    }

With the following web.config: 使用以下web.config:

  <log4net>
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="Logs\MaMLog_" />
      <appendToFile value="true" />
      <StaticLogFileAppName value="false" />
      <rollingStyle value="Date" />
      <datePattern value="yyyyMMMdd_dddd'.log'" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date{dd MMM yyyy HH:mm:ss,fff} [%thread] -() %message%newline" />
      </layout>
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    </appender>
    <logger name="MyLog1">
      <level value="Debug" />
      <appender-ref ref="RollingLogFileAppender" />
    </logger>
    <logger name="MyLog2">
      <level value="Debug" />
      <appender-ref ref="RollingLogFileAppender" />
    </logger>
  </log4net>

How does the code know the logger name? 代码如何知道记录器名称? If at all? 如果有的话?

Since you are using 因为你正在使用

mLog4NetInstance = LogManager.GetLogger(typeof(Log4NetLogger));

then the logger name will be the value of typeof(Log4NetLogger).FullName which is usually of the form YourNameSpace.Log4NetLogger 然后记录器名称将是typeof(Log4NetLogger).FullName的值,通常是YourNameSpace.Log4NetLogger形式

Nothing will be logged in this example, because you don't have a logger with that name and you don't have a root section to fall back to , eg 此示例中不会记录任何内容,因为您没有具有该名称的记录器,并且您没有根部分可以回退,例如

<root>
    <level value="DEBUG" />
    <appender-ref ref="RollingLogFileAppender" />
</root>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM