Hi,
Guys I am in soup.
I am trying to use log to database using adoNetAppender. I am working on
visual studio 2005 with vb.net. 
nothing is showing in my database. Also I m not getting any error messages.
I am not sure if it is some version problem.
my appender is 
<log4net>
                        <appender name="ADONetAppender" 
type="log4net.Appender.ADONetAppender">
                                <bufferSize value="1" />
                                <connectionType 
value="System.Data.SqlClient.SqlConnection ,
System.Data.SqlServer, Version=3.0.3600.0, Culture=neutral,
PublicKeyToken=3be235df1c8d2ad3" />
                                
                                <commandText value="INSERT INTO Log (Date, 
Thread, Level, Logger,
Message, Exception) VALUES 
         (@log_date, @thread, @log_level, @logger, @message, @exception)" />

                                
                                <parameter>
                                        <parameterName value="@log_date" />
                                        <dbType value="DateTime" />
                                        <layout 
type="log4net.Layout.RawTimeStampLayout" >
                                        <conversionPattern 
value="%date{yyyy'/'MM'/'dd HH':'mm':'ss'.'fff}" />
                                        </layout>
                                </parameter>
                                <parameter>
                                        <parameterName value="@thread" />
                                        <dbType value="String" />
                                        <size value="255" />
                                        <layout 
type="log4net.Layout.PatternLayout">
                                                <conversionPattern 
value="%thread" />
                                        </layout>
                                </parameter>
                                <parameter>
                                        <parameterName value="@log_level" />
                                        <dbType value="String" />
                                        <size value="50" />
                                        <layout 
type="log4net.Layout.PatternLayout">
                                                <conversionPattern 
value="%level" />
                                        </layout>
                                </parameter>
                                <parameter>
                                        <parameterName value="@logger" />
                                        <dbType value="String" />
                                        <size value="255" />
                                        <layout 
type="log4net.Layout.PatternLayout">
                                                <conversionPattern 
value="%logger" />
                                        </layout>
                                </parameter>
                                <parameter>
                                        <parameterName value="@message" />
                                        <dbType value="String" />
                                        <size value="4000" />
                                        <layout 
type="log4net.Layout.PatternLayout">
                                                <conversionPattern 
value="%message" />
                                        </layout>
                                </parameter>
                                <parameter>
                                        <parameterName value="@exception" />
                                        <dbType value="String" />
                                        <size value="2000" />
                                        <layout 
type="log4net.Layout.ExceptionLayout" />
                                </parameter>
                
                        </appender>

                        <appender name="RollingLogFileAppender"
type="log4net.Appender.RollingFileAppender">
                                <file value="TestLog.txt"/>
                                <appendToFile value="true"/>
                                <rollingStyle value="Size"/>
                                <maxSizeRollBackups value="10"/>
                                <maximumFileSize value="12KB"/>
                                <staticLogFileName value="true"/>
                                <layout type="log4net.Layout.PatternLayout">
                                        <conversionPattern value="%-5p %d %5rms 
%-22.22c{1} %-18.18M - %m%n"/>
                                </layout>
                        </appender>     
                        

                        <root>
                                <level value="ALL" />
                                <appender-ref ref="ADONetAppender" />
                        </root>
                        <logger name="myjsk">
                                <appender-ref ref="ADONetAppender" />
                        </logger>

also my database is <!--CREATE TABLE [dbo].[Log] ( [Date] [datetime] NOT
NULL, [Thread] [varchar] (255) NOT NULL, [Level] [varchar] (50) NOT NULL,
[Logger] [varchar] (255) NOT NULL,  [Message] [varchar] (4000) NOT NULL,
[Exception] [varchar] (2000) NULL)-->

In application start of my global.asax :
 Try
            log4net.Config.XmlConfigurator.Configure()
     
            Dim hier As log4net.Repository.Hierarchy.Hierarchy =
TryCast(log4net.LogManager.GetRepository(),
log4net.Repository.Hierarchy.Hierarchy)
            If hier IsNot Nothing Then
                Dim adoAppender As log4net.Appender.AdoNetAppender =
DirectCast(hier.GetLogger("myjsk",
hier.LoggerFactory).GetAppender("ADONetAppender"),
log4net.Appender.AdoNetAppender)
                If adoAppender IsNot Nothing Then
                    adoAppender.ConnectionString =
System.Configuration.ConfigurationManager.AppSettings("conn")                 
                   
''System.Configuration.ConfigurationSettings.AppSettings("Conn")
                    adoAppender.ActivateOptions()
                End If
            End If
                 Catch nfe As NullReferenceException
            Throw New NullReferenceException("log4net configuration could
not be completed. " & Chr(10) & "Do you have your app.config set up
properly?", nfe)
        End Try

On my which action, data will move into database?
any suggestions?

Thanks
Sarika





Chris Jerdonek-2 wrote:
> 
> Hi, we've been using log4net for a few months now, and I've been on this
> list for about the same.  I have a design question.
> 
> What would be the "correct" way to do the following?
> 
> We'd like to log to a database using the AdoNetAppender.  From our code,
> when we call things like log.Debug, log.Info, log.Warn, etc. we'd like to
> be able to pass not just a "message" but also things like a local message
> code, message details, etc and then have those show up in separate columns
> in the database.  Also, the list of things we pass may change over time.
> 
> To implement this, it seems natural to store these additional values in
> ThreadContext.Properties, and then access them in the Web.config via (for
> example) %property{msgcode}.
> 
> Would we, for example, want to wrap the LogManager class with our own
> class whose GetLogger method returns an ILog with overloaded Debug, Info,
> Warn, etc. methods?
> 
> One problem with this approach is that if every one of these methods had
> message code, message details, etc in the signature, then it would
> probably be hard to maintain: there may be lots of overloads, and changing
> the signatures over time would probably break things.
> 
> Another possibility is to have the custom ILog object expose setters for
> things like message code, message details, etc (which would wrap writes to
> ThreadContext.Properties); but this would make calling log.Info, log.Warn,
> etc. a bit more verbose -- you would have to set everything prior to
> calling the log method instead of just including them as parameters in the
> method call.  Also, you would probably want to delete those particular
> ThreadContext.Properties values so they don't persist to the next log
> message.
> 
> Any thoughts?
> 
> Okay, thanks,
> --Chris
> 
> 
> 
> --
> Chris Jerdonek
> Software Developer
> P: (415) 357-3618 Ext. 1357
> Granicus, Inc.
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/logging-additional-message-specific-data-with-AdoNetAppender-tp17139552p17185843.html
Sent from the Log4net - Users mailing list archive at Nabble.com.

Reply via email to