Uploaded image for project: 'Log4net'
  1. Log4net
  2. LOG4NET-647

Log4Net do not work inside of Finalize method

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Not A Problem
    • 2.0.8
    • None
    • Core, Other
    • None

    Description

      Log4Net do not log while it's called from Finalize method. It particularly annoying if we want monitor destroyed object which was not closed (without call to Close method). Inside of Finalize method the logger object is not null but has no effect.

      Example:

      Class LoggerTest
      
          Private ReadOnly logger As log4net.ILog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)
      
          Public Shared Sub Main()
              log4net.Config.XmlConfigurator.Configure(New System.IO.FileInfo("LoggerTest.log4net"))
      
              Dim c As New LoggerTest
              c.SayHello()
          End Sub
      
          Public Sub SayHello()
              System.Console.WriteLine("hello")
              logger.Info("hello")
          End Sub
      
          Protected Overrides Sub Finalize()
              System.Console.WriteLine("finalize")
              logger.Info("finalize")
          End Sub
      End Class
      

      Config file

      <?xml version="1.0" encoding="utf-8" ?>
      <configuration>
        <log4net>
          <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%date [%thread] %-5level - %message%newline" />
            </layout>
          </appender>
            <root>
            <level value="ALL"/>
            <appender-ref ref="ConsoleAppender"/>
          </root>
        </log4net>
      </configuration>
      

       
      Result:

      hello
      2020-04-07 15:33:30,399 [1] INFO  - hello
      finalize
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            cmakog Constantin Makogon
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: