logging-log4net-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ramaa Davanagere <RDAVA...@mobius.com>
Subject RE: Internal debugging
Date Fri, 09 Sep 2005 15:19:26 GMT
One more thing to add....

 

The file log4netInternalDebugging.txt is not getting created now. Earlier
the file was created with 0 kb in it.

 

-----Original Message-----
From: Ramaa Davanagere 
Sent: Friday, September 09, 2005 11:11 AM
To: 'Log4NET User'
Subject: RE: Internal debugging

 

 

Oh wow! I LOVE the idea of setting up the trace via the config file. This is
very neat! I can enable it whenever I want. But why is it so hard to get
things working though? I implemented the code changes you mentioned and its
still not working. 

My new code looks like this. 

public class myErrorHandler 
        { 
                
                public ILog logger =
LogManager.GetLogger(typeof(myErrorHandler)); 

                public myErrorHandler ()        
                {       
                        string strPath =
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssem
bly().Location);

                        log4net.Config.XmlConfigurator.Configure(new
System.IO.FileInfo(strPath + "\\app.config")); 
                } 

                public void WriteToLog_Info(string sMessage) 
                {               
 
logger.Info(System.Reflection.MethodBase.GetCurrentMethod() + " " +
sMessage); 
                } 

                public void WriteToLog_Err(string sErrorMessage) 
                { 
 
logger.Info(System.Reflection.MethodBase.GetCurrentMethod() + ": Exiting
with Exception caught.");

 
logger.Error(System.Reflection.MethodBase.GetCurrentMethod() + ": Error - "
+ sErrorMessage); 
                } 
        } 

and my config file (app.config) looks like this. 

 

<xml> 
        <configuration> 
                <configSections> 
                        <section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 
                </configSections> 
                <appSettings> 
                        <add key="log4net.Internal.Debug" value="true"/> 
                </appSettings> 
                <system.diagnostics> 
                        <trace autoflush="true"> 
                                <listeners> 
                                        <add name="textWriterTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="C:\\temp\\log4netInternalDebugging.txt"/>

                                </listeners> 
                        </trace> 
                </system.diagnostics> 
                <log4net> 
                        <appender name="FileAppender"
type="log4net.Appender.FileAppender"> 
                                <file value="C:\\temp\\mylog.txt"/> 
                                <appendToFile value="true"/> 
                                <layout type="log4net.Layout.PatternLayout">

                                        <conversionPattern value="%d %-5p %c
%m%n"/> 
                                </layout> 
                        </appender> 
                        <root> 
                                <level value="ALL"/> 
                                <appender-ref ref="FileAppender"/> 
                        </root> 
                </log4net> 
        </configuration> 
</xml> 

-----Original Message----- 
From: Ron Grabowski [mailto:rongrabowski@yahoo.com
<mailto:rongrabowski@yahoo.com> ] 
Sent: Friday, September 09, 2005 10:54 AM 
To: Log4NET User 
Subject: Re: Internal debugging 

You may need to call Flush after setting up the listener or set the 
AutoFlush property to true: 

 System.Diagnostics.Trace.Flush() 
 System.Diagnostics.Trace.AutoFlush = True 

Setting log4net.Internal.Debug to true in the AppSettings as opposed to 
on the log4net node allows log4net to record more debug information. 
Did you know you can define trace listeners inside the App.Config file? 
You may want to consider doing this so you can easily remove them once 
you know you have things setup correctly: 

<configuration> 
 <configSections> 
  <section name="log4net" 
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 
 </configSections> 
 <appSettings> 
  <add key="log4net.Internal.Debug" value="true" /> 
 </appSettings> 
 <system.diagnostics> 
  <trace autoflush="true"> 
   <listeners> 
    <add name="textWriterTraceListener" 
     type="System.Diagnostics.TextWriterTraceListener" 
     initializeData="C:\\temp\\log4net.txt" /> 
    </listeners> 
   </trace> 
 </system.diagnostics> 
 <log4net> 
  <appender name="FileAppender" type="log4net.Appender.FileAppender"> 
   <file value="C:\\temp\\mylog.txt"/> 
   <appendToFile value="true"/> 
   <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%d %-5p %c %m%n"/> 
   </layout> 
  </appender> 
  <root> 
  <level value="DEBUG"/> 
   <appender-ref ref="FileAppender"/> 
  </root> 
 </log4net> 
</configuration> 

Log4net can output the calling method for you: 

 logger.Info("Exiting with Exception caught."); 

 <layout type="log4net.Layout.PatternLayout"> 
  <conversionPattern value="%d %-5p %c %method:%m%n"/> 
 </layout> 

Here's a list of all the patterns in the current version of log4net: 

http://tinyurl.com/e3nd3 <http://tinyurl.com/e3nd3>  
http://logging.apache.org/log4net/release/sdk/log4net.Layout.PatternLayout.h
tml
<http://logging.apache.org/log4net/release/sdk/log4net.Layout.PatternLayout.
html>  

The log4net.Config.DOMConfigurator.Configure method has been 
depreciated in the current vesion of log4net (1.2.9.0 beta). It has 
been replaced with log4net.Config.XmlConfigurator.Configure. 

--- Ramaa Davanagere <RDAVANAG@mobius.com> wrote: 

> The code attached below is just not working. What is wrong? All I'm 
> trying 
> to do is, enable the internal debugging and write the message to 
> log4netInternalDebugging.txt file. When I run this code, the file is 
> getting 
> created but no messages are getting logged. Please help 
> 
>  
> 
>  
> 
> public class myErrorHandler 
> 
>       { 
> 
>             
> 
>             public ILog logger = 
> LogManager.GetLogger(typeof(myErrorHandler)); 
> 
>  
> 
>             public myErrorHandler ()      
> 
>             {     
> 
>                   FileStream oFile = new 
> 
FileStream("C:\\temp\\log4netInternalDebuggging.txt",FileMode.Create,FileAcc

> ess.Write); 
> 
>                   System.Diagnostics.Trace.Listeners.Add(new 
> TextWriterTraceListener(oFile)); 
> 
>                   log4net.Util.LogLog.InternalDebugging = true; 
> 
>                   log4net.Config.DOMConfigurator.Configure(new 
> System.IO.FileInfo("C:\\temp\\app.config")); 
> 
>             } 
> 
>  
> 
>             public void WriteToLog_Info(string sMessage) 
> 
>             {           
> 
>  
> logger.Info(System.Reflection.MethodBase.GetCurrentMethod() + " " + 
> sMessage); 
> 
>             } 
> 
>  
> 
>             public void WriteToLog_Err(string sErrorMessage) 
> 
>             { 
> 
>  
> logger.Info(System.Reflection.MethodBase.GetCurrentMethod() + ": 
> Exiting 
> with Exception caught."); 
> 
>  
> logger.Error(System.Reflection.MethodBase.GetCurrentMethod() + ": 
> Error - " 
> + sErrorMessage); 
> 
>             } 
> 
>             } 
> 
>  
> 
> My App.cofig file looks like this. 
> 
>  
> 
> <configuration> 
> 
>        <configSections> 
> 
>              <section name="log4net" 
> type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 
> 
>        </configSections> 
> 
>        <appSettings/> 
> 
>        <log4net debug="true"> 
> 
>              <appender name="FileAppender" 
> type="log4net.Appender.FileAppender"> 
> 
>                     <file value="C:\\temp\\mylog.txt"/> 
> 
>                     <appendToFile value="true"/> 
> 
>                     <layout type="log4net.Layout.PatternLayout"> 
> 
>                            <conversionPattern value="%d %-5p %c 
> %m%n"/> 
> 
>                     </layout> 
> 
>              </appender> 
> 
>              <root> 
> 
>                     <level value="DEBUG"/> 
> 
>                     <appender-ref ref="FileAppender"/> 
> 
>              </root> 
> 
>        </log4net> 
> 
> </configuration> 
> 
>  
> 
> 


Mime
View raw message