为什么log4net不记录消息

时间:2011-11-30 10:33:41

标签: log4net

我有一个控制台应用程序,我正在尝试使用log4net设置日志记录。 我已经完成了设置它的所有基本步骤 -

  1. 在App中添加了配置
  2. <configSections>
      <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    </configSections>
    <appSettings>
      <add key="LogFileRootFolderPath" value="C:\TestApplicationLogs\"/>
    </appSettings>
    <log4net>
      <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
        <file value="TestApplication.log" />
        <appendToFile value="true" />
        <rollingStyle value="Composite" />
        <maxSizeRollBackups value="14" />
        <maximumFileSize value="15000KB" />
        <datePattern value="yyyyMMdd" />
        <staticLogFileName value="true" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="{%level}%date{MM/dd HH:mm:ss} - %message%newline"/>
        </layout>
      </appender>
      <root>
        <level value="All" />
        <!-- You can use levels, in increasing order of verbosity: Off, Fatal, Error, Warn, Info, Debug, All -->
        <appender-ref ref="RollingFileAppender" />
      </root>
    </log4net>
    

    P.S。我在C:\

    中创建了一个新文件夹'TestApplicationLogs'
    1. 在AssemblyInfo.cs

    2. 中添加了[assembly: log4net.Config.XmlConfigurator(Watch = true)]
    3. 在Program.cs中

    4. private static readonly log4net.ILog log = log4net.LogManager.GetLogger
              (System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
      
      static void Main(string[] args)
      {
           log.Info("App Started");
      }
      

      有人可以指导缺少什么吗?

1 个答案:

答案 0 :(得分:2)

我没有看到您将C:\ TestApplicationLogs定义为应该登录的目录。 在log4net配置中,您刚刚指定了文件名,因此它将登录到您执行exe的目录。