You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4net-dev@logging.apache.org by Wade DeWerff <de...@medjames.com> on 2008/11/26 16:03:33 UTC

cant get log4net to log

What's missing here? Using profiler, the database never receives the
call. I tried adding a File appender and that didn't work either. 

web.config: 
    <log4net> 
        <appender name="ADONetAppender"
type="log4net.Appender.ADONetAppender"> 
            <bufferSize value="100" /> 
            <connectionType value="System.Data.SqlClient.SqlConnection,
System.Data, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" /> 
            <connectionString value="data
source=(local)\SQLEXPRESS;initial catalog=MyTestDB;integrated
security=false;persist security info=True;User ID=user;Password=pass" />

            <commandText value="INSERT INTO Log
([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES
(@log_date, @thread, @log_level, @logger, @message, @exception)" /> 
........ etc 
        <root> 
            <level value="ERROR" /> 
            <appender-ref ref="ADONetAppender" /> 
        </root> 
        <logger name="LogUtility"> 
            <level value="ALL" /> 
        </logger> 
</log4net> 

 
 

global.asax application_start 
log4net.Config.XmlConfigurator.Configure(); 

 
 

log wrapper: 
    public class LogUtility : ILogUtility 
    { 
        private ILog log { get; set; } 

        public LogUtility() 
        { 
            log = LogManager.GetLogger("LogUtility"); //
LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().Dec
laringType); 
        } 

        #region ILogUtility Members 

        public void LogException(string message) 
        { 
            log.Error(message); 
        } 

        public void LogException(string message, Exception exception) 
        { 
            log.Error(message, exception); 
        } 

 
 

.aspx log call: 
 LogUtility.LogException("some error", new Exception()); 


Re: cant get log4net to log

Posted by Ron Grabowski <ro...@yahoo.com>.
Do you have a log4net config handler defined in web.config so .NET knows how to handle the <log4net> node:

 <configSections>
  <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
 </configSections>

Your AdoNetAppender is set to buffer 100 log messages before inserting them into the database. Try setting that value to 1 for the time being.




________________________________
From: Wade DeWerff <de...@medjames.com>
To: log4net-dev@logging.apache.org
Sent: Wednesday, November 26, 2008 10:03:33 AM
Subject: cant get log4net to log


What's missing here? Using profiler, the database never 
receives the call. I tried adding a File appender and that didn't work either. 

web.config: 
    <log4net> 
        <appender 
name="ADONetAppender" type="log4net.Appender.ADONetAppender"> 
  
          <bufferSize value="100" /> 
  
          <connectionType 
value="System.Data.SqlClient.SqlConnection, System.Data, Version=2.0.0.0, 
Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
      
      <connectionString value="data 
source=(local)\SQLEXPRESS;initial catalog=MyTestDB;integrated 
security=false;persist security info=True;User ID=user;Password=pass" /> 
            <commandText value="INSERT INTO 
Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, 
@thread, @log_level, @logger, @message, @exception)" /> 
........ etc 
        <root> 
        
    <level value="ERROR" /> 
        
    <appender-ref ref="ADONetAppender" /> 
    
    </root> 
        <logger 
name="LogUtility"> 
            <level 
value="ALL" /> 
        </logger> 
</log4net> 

 
 

global.asax application_start 
log4net.Config.XmlConfigurator.Configure(); 

 
 

log wrapper: 
    public class LogUtility 
: ILogUtility 
    { 
        private ILog 
log { get; set; } 

        public LogUtility() 
        { 
            
log = LogManager.GetLogger("LogUtility"); // 
LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 
        } 

        #region 
ILogUtility Members 

        public void 
LogException(string message) 
        { 
    
        log.Error(message); 
        
} 

        public void LogException(string message, 
Exception exception) 
        { 
      
      log.Error(message, exception); 
      
  } 

 
 
 
.aspx log call: 
 LogUtility.LogException("some error", new Exception());