[英]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.