[
https://issues.apache.org/jira/browse/LOG4NET-647?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Constantin Makogon closed LOG4NET-647.
--------------------------------------
Resolution: Not A Problem
It was a side effect. Logger works in finalize method in example below:
{code:visualbasic}
Class LoggerTest
Private Shared 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()
c = Nothing
GC.Collect()
GC.WaitForPendingFinalizers()
Thread.Sleep(2000)
logger.Info("Goodbye")
End Sub
Public Sub SayHello()
System.Console.WriteLine("hello")
logger.Info("hello")
End Sub
Protected Overrides Sub Finalize()
logger.Info("finalize")
System.Console.WriteLine("finalize")
End Sub
End Class
{code}
> Log4Net do not work inside of Finalize method
> ---------------------------------------------
>
> Key: LOG4NET-647
> URL: https://issues.apache.org/jira/browse/LOG4NET-647
> Project: Log4net
> Issue Type: Bug
> Components: Core, Other
> Affects Versions: 2.0.8
> Reporter: Constantin Makogon
> Priority: Major
>
> 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:
> {code:visualbasic}
> 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
> {code}
> Config file
> {code:xml}
> <?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>
> {code}
>
> Result:
> {code}
> hello
> 2020-04-07 15:33:30,399 [1] INFO - hello
> finalize
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)