Чего мне не хватает в log4net - файл журнала не создан - PullRequest
3 голосов
/ 12 апреля 2010

Я пытаюсь использовать log4net в приложении VB.NET по неизвестной причине: он не создает файл журнала.

Вот мой app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
       <configSections>
    <section name="log4net"
    type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <log4net>
    <appender name="FileAppender" type="log4net.Appender.FileAppender">
      <file value="c:\log-file.txt" />
      <appendToFile value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="ALL" />
      <appender-ref ref="FileAppender" />
    </root>

  </log4net>
</configuration>

Вот код приложения

Imports log4net
Public Class Form1
    Dim log As ILog
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        log.Error("test")
    End Sub

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        log4net.Config.XmlConfigurator.Configure()
        log = log4net.LogManager.GetLogger("TestThings")
    End Sub
End Class

«TestThings» - это название проекта VS. Чего мне не хватает?

Редактировать ~ Я вошел в систему как администратор и использую самую последнюю версию log4net.dll

Ответы [ 2 ]

3 голосов
/ 12 апреля 2010

попробуйте это:

изменить

< appender name="FileAppender" type="log4net.Appender.FileAppender" >

до

< appender name="FileAppender" type="log4net.Appender.FileAppender, log4net" >

добавить log4net также к

< layout type="log4net.Layout.PatternLayout" >
0 голосов
/ 03 октября 2014

Попробуйте это изменение в конфиге для плавающего файла appender

<log4net>
    <appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="log\web.app.log" />
      <filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value="DEBUG" />
        <acceptOnMatch value="true" />
      </filter>
      <threshold value="DEBUG" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <datePattern value=".yyyyMMdd.lo\g" />
      <maximumFileSize value="5MB" />
      <maxSizeRollBackups value="-1" />
      <countDirection value="1" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="ALL" />
      <appender-ref ref="FileAppender" />
    </root>
    <logger name="webapplogger">
      <level value="debug" />
      <appender-ref ref="FileAppender" />
    </logger>
  </log4net>

А для инициализации вашего кода (загрузка формы или загрузки веб-страницы или IOC) звоните

log4net.Config.XmlConfigurator.Configure()
        log = log4net.LogManager.GetLogger("webapplogger")
...