Click here to Skip to main content
15,886,799 members
Articles / Programming Languages / C#

Save Log Information in Database with log4net and NHibernate

Rate me:
Please Sign up or sign in to vote.
4.50/5 (11 votes)
4 Feb 2010CPOL5 min read 91.6K   3.8K   44  
Using log4net to save data in database with help of NHibernate
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net"
      type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0" />
  </configSections>
  <log4net>
      <logger name="NHibernateLogging">
      <level value="DEBUG"/>
    </logger>
    <root>
      <level value="WARN" />
      <appender-ref ref="HibernateAdoNetAppender" />
    </root>
    <!-- Using standard AdoNet Appender -->
    <appender name="HibernateAdoNetAppender" type="log4net.Appender.AdoNetAppender">
      <!-- Use our connection class -->
      <connectionType value="HLogger.HDbConnection, HLoggerLibrary" />
      <!-- Sql insert query with parameters-->
      <commandText value="INSERT INTO Log (Date,Thread,Level,Logger,Message) VALUES (:log_date, :thread, :log_level, :logger, :message)" />
      <!-- Parameters-->
      <parameter>
        <parameterName value="log_date" />
        <dbType value="DateTime" />
        <layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}" />
      </parameter>
      <parameter>
        <parameterName value="thread" />
        <dbType value="String" />
        <size value="255" />
        <layout type="log4net.Layout.PatternLayout" value="%thread" />
      </parameter>
      <parameter>
        <parameterName value="log_level" />
        <dbType value="String" />
        <size value="50" />
        <layout type="log4net.Layout.PatternLayout" value="%level" />
      </parameter>
      <parameter>
        <parameterName value="logger" />
        <dbType value="String" />
        <size value="255" />
        <layout type="log4net.Layout.PatternLayout" value="%logger" />
      </parameter>
      <parameter>
        <parameterName value="message" />
        <dbType value="String" />
        <size value="4000" />
        <layout type="log4net.Layout.PatternLayout" value="%message" />
      </parameter>
    </appender>
  </log4net>
</configuration>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) Nokia
Germany Germany
Interested in design/development of framework functionality using the best patterns and practices.

Comments and Discussions