Как посмотреть логи из Log4net?

Я не вижу, чтобы для моего веб-сайта выполнялась какая-либо регистрация. Ведение журнала настраивается следующим образом в web.config

 <configSections>
     <section name="log4net" 
         type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>  
 </configSections>

 <log4net>
 <logger name="default">
   <level value="INFO"></level>
 </logger>

 <appender name="RollingLogFileAppender" 
            type="log4net.Appender.RollingFileAppender">
   <file value="logs\Tester.log"/>
   <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
   <appendToFile value="true"/>
   <rollingStyle value="Composite"/>
   <datePattern value=".yyyyMMdd"/>
   <maximumFileSize value="10MB"/>
   <countDirection value="1"/>
   <layout type="log4net.Layout.PatternLayout">
     <conversionPattern value="%date [%thread] %-5level %logger
            [%property{NDC}] - %message%newline"/>
   </layout>      
 </appender>

 <root>
   <level value="INFO"></level>
 </root>

 <logger name="Test">
   <level value="DEBUG"/>
   <appender-ref ref="RollingLogFileAppender"/>
 </logger>

Here is instantiation.

public class AppLog
    {
        private static readonly log4net.ILog log = 
               log4net.LogManager.GetLogger("Test");

        static public void logEvent(String msg, EventLogEntryType type)
        {
            switch (type)
            {
                case EventLogEntryType.Error:
                    log.Error(msg);
                    break;
                case EventLogEntryType.Information:
                    log.Info(msg);
                    break;
                case EventLogEntryType.Warning:
                    log.Warn(msg);
                    break;
                default:
                    log.Debug(msg);
                    break;
            }
        }
    }

При запуске приложения я пишу некоторую информацию журнала

 void Application_Start(object sender, EventArgs e)
     {
         // Code that runs on application startup
         AppLog.logEvent("Application Error:  " , EventLogEntryType.Error);

         AppLog.logEvent("Application Error:  ", EventLogEntryType.FailureAudit);
         AppLog.logEvent("Application Error:  ", EventLogEntryType.Information);
         AppLog.logEvent("Application Error:  ", EventLogEntryType.SuccessAudit);
         AppLog.logEvent("Application Error:  ", EventLogEntryType.Warning);

     }

Я не вижу никакого журнала. Я надеялся, что Tester.log будет создан в C:\logs; Я даже обыскал весь диск C:, но похоже, что ведение журнала у меня не работает.


person user476566    schedule 04.06.2014    source источник


Ответы (2)


Вам необходимо настроить регистратор с помощью конфигуратора. Это то, что на самом деле загружает вашу конфигурацию xml и применяет ее к log4net.

Вы можете настроить log4net с атрибутом сборки (например, в файле AssemblyInfo.cs):

[assembly: log4net.Config.XmlConfigurator]

или вы можете вручную вызвать конфигуратор из своего кода:

XmlConfigurator.Configure();
person Rob Levine    schedule 04.06.2014

Вам нужно позвонить

XmlConfigurator.Configure();

прежде чем вы начнете использовать регистраторы

person dotnetom    schedule 04.06.2014