How to save log4net log into
database
How to save log4net log into database
How to use log4net in .net
What is Log4net
Log4netis an opensource .netlibrarytolog outputto a varietyof sources like console,SMTP,Plain
text,Database etc. Log4netis a port of the popularlog4JlibraryusedinJava. Log4net developedby
Apache Foundation. Full detailsof log4netcanbe foundat itsprojecthomepage. Itspowerful tool to
loggingapplication outputtodifferenttargets.Log4netprovide differenttypesof providertosave
loggingintoplaintext,database etc. Log4netenable loggingatruntime withoutmodifyingthe
applicationbinary. Itsprovide highspeedof logging.
log4netisthe notionof hierarchical loggers log4netisdesigned forspeedandflexibility
Home page of log4net- http://logging.apache.org/log4net/index.html
Followingisstepstosave log4netlogintodatabase
1. Add Log4net.dll into your project
2. Add log4net into Global.asax.cs
3. Register log4net in configSections
4. Use log4net configuration in web.config sections
5. Create a database and table to save log into Sql server. I am creating
"Log4NetTest" database and "AppLog" table to save log into database
6. Use following Log4net settings in your controller, where you want use
log4net
Step 1 . Add Log4net.dll into your project
Addlog4net"log4net.dll"libraryintoyourproject. youcandownloadlog4netbinaryfromfollowing URL
https://logging.apache.org/log4net/download_log4net.cgi
Its containsdifferentbinfile fordifferent.netversion.Youcanadd log4net.dll accordingtoyour
requirementand.netversion.
Or
Package Manager- You can install log4netviapackage manager
Go to Tools>>NuGetPackage Manager >> Package Manager
thenrun
PM> Install-Package log4net
Step 2. Add log4net into Global.asax.cs
Addfollowingcode intoGlobal.asax.csfileon"Application_Start()"event.
log4net.Config.XmlConfigurator.Configure();
Step 3. Register log4net in configSections
Addfollowingcode intoconfigSectionsinweb.config
<sectionname="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
Step 4. Use log4net configuration in web.config sections
Addfollowingcode belowconfigSectionsinweb.config
<log4net>
<!--Rollinglogfileappenderis use for write log fileinto plaintext file.-->
<appendername="RollingLogFileAppender"type="log4net.Appender.RollingFileAppender">
<file value="C:log.txt"/>
<appendToFilevalue="true"/>
<rollingStyle value="Size"/>
<maxSizeRollBackupsvalue="10"/>
<maximumFileSizevalue="10MB"/>
<staticLogFileNamevalue="true"/>
<layouttype="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %d %5rms%-22.22c{1} %-18.18M - %m%n"/>
</layout>
</appender>
<!--AdoNetappenderisuse forwrite log file into sql server-->
<appendername="AdoNetAppender"type="log4net.Appender.AdoNetAppender">
<bufferSizevalue="1"/>
<connectionTypevalue="System.Data.SqlClient.SqlConnection,System.Data,Version=1.0.3300.0,
Culture=neutral,PublicKeyToken=b77a5c561934e089" />
<connectionString value="datasource=[SqlServer];InitialCatalog=[DatabaseName];user
id=sa;password=[System12345];"/>
<commandTextvalue="INSERTINTOAppLog ([Date],[Thread],[Level],[Logger],[Message],[Exception])
VALUES(@log_date,@thread,@log_level,@logger,@message,
@exception)"/>
<parameter>
<parameterNamevalue="@log_date"/>
<dbTypevalue="DateTime"/>
<layouttype="log4net.Layout.RawTimeStampLayout"/>
</parameter>
<parameter>
<parameterNamevalue="@thread"/>
<dbTypevalue="String"/>
<size value="255" />
<layouttype="log4net.Layout.PatternLayout">
<conversionPattern value="%thread"/>
</layout>
</parameter>
<parameter>
<parameterNamevalue="@log_level"/>
<dbTypevalue="String"/>
<size value="50" />
<layouttype="log4net.Layout.PatternLayout">
<conversionPattern value="%level"/>
</layout>
</parameter>
<parameter>
<parameterNamevalue="@logger"/>
<dbTypevalue="String"/>
<size value="255" />
<layouttype="log4net.Layout.PatternLayout">
<conversionPattern value="%logger"/>
</layout>
</parameter>
<parameter>
<parameterNamevalue="@message"/>
<dbTypevalue="String"/>
<size value="4000" />
<layouttype="log4net.Layout.PatternLayout">
<conversionPattern value="%message"/>
</layout>
</parameter>
<parameter>
<parameterNamevalue="@exception"/>
<dbTypevalue="String"/>
<size value="2000" />
<layouttype="log4net.Layout.ExceptionLayout"/>
</parameter>
</appender>
<!--Addappender whichyou want to use, Youcan addmore then one appender. Like ifyou want
save logboth plaintext or sql server ,Addboth appender.-->
<root>
<level value="ALL"/>
<appender-ref ref="RollingLogFileAppender" /> <!--Enablethisline ifyou want write logfile into
plaintext file-->
<appender-ref ref="AdoNetAppender"/> <!--Enablethis line ifyou want write logfile intosql
server-->
</root>
</log4net>
Step 5. Create a database and table to save log into sql server. I am creating
"Log4NetTest" database and "AppLog" table to save log into database
--Sql Scriptforsave log4net loginto sql serverdatabase
CreatedatabaseLog4NetTest
UseLog4NetTest
CREATE TABLE [dbo].[AppLog](
[Id] [int] IDENTITY(1,1) NOTNULL,
[Date] [datetime] NOTNULL,
[Thread] [varchar](255) NOTNULL,
[Level] [varchar](50) NOTNULL,
[Logger] [varchar](255) NOTNULL,
[Message] [varchar](max)NOTNULL,
[Exception] [varchar](max) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
Select * fromAppLog
Step 6. Use following Log4net settings in your controller, where you want use
log4net
privatestatic log4net.ILog Log { get; set; }
ILog log = log4net.LogManager.GetLogger(typeof(classtype)); //typeof class
log.Debug("Debug message");
log.Warn("Warn message");
log.Error("Errormessage");
log.Fatal("Fatalmessage");
Thanks
www.codeandyou.com
http://www.codeandyou.com/2015/09/how-to-save-
log4net-log-into-database.html
Keywords - How to save log4net log into database , How to use log4net in .net ,
What is Log4net

How to save log4net into database

  • 1.
    How to savelog4net log into database
  • 2.
    How to savelog4net log into database How to use log4net in .net What is Log4net Log4netis an opensource .netlibrarytolog outputto a varietyof sources like console,SMTP,Plain text,Database etc. Log4netis a port of the popularlog4JlibraryusedinJava. Log4net developedby Apache Foundation. Full detailsof log4netcanbe foundat itsprojecthomepage. Itspowerful tool to loggingapplication outputtodifferenttargets.Log4netprovide differenttypesof providertosave loggingintoplaintext,database etc. Log4netenable loggingatruntime withoutmodifyingthe applicationbinary. Itsprovide highspeedof logging. log4netisthe notionof hierarchical loggers log4netisdesigned forspeedandflexibility Home page of log4net- http://logging.apache.org/log4net/index.html Followingisstepstosave log4netlogintodatabase 1. Add Log4net.dll into your project 2. Add log4net into Global.asax.cs 3. Register log4net in configSections 4. Use log4net configuration in web.config sections 5. Create a database and table to save log into Sql server. I am creating "Log4NetTest" database and "AppLog" table to save log into database 6. Use following Log4net settings in your controller, where you want use log4net
  • 3.
    Step 1 .Add Log4net.dll into your project Addlog4net"log4net.dll"libraryintoyourproject. youcandownloadlog4netbinaryfromfollowing URL https://logging.apache.org/log4net/download_log4net.cgi
  • 4.
    Its containsdifferentbinfile fordifferent.netversion.Youcanaddlog4net.dll accordingtoyour requirementand.netversion. Or Package Manager- You can install log4netviapackage manager Go to Tools>>NuGetPackage Manager >> Package Manager thenrun PM> Install-Package log4net
  • 5.
    Step 2. Addlog4net into Global.asax.cs Addfollowingcode intoGlobal.asax.csfileon"Application_Start()"event. log4net.Config.XmlConfigurator.Configure(); Step 3. Register log4net in configSections Addfollowingcode intoconfigSectionsinweb.config <sectionname="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
  • 6.
    Step 4. Uselog4net configuration in web.config sections Addfollowingcode belowconfigSectionsinweb.config <log4net> <!--Rollinglogfileappenderis use for write log fileinto plaintext file.--> <appendername="RollingLogFileAppender"type="log4net.Appender.RollingFileAppender"> <file value="C:log.txt"/> <appendToFilevalue="true"/> <rollingStyle value="Size"/> <maxSizeRollBackupsvalue="10"/> <maximumFileSizevalue="10MB"/> <staticLogFileNamevalue="true"/> <layouttype="log4net.Layout.PatternLayout"> <conversionPattern value="%-5p %d %5rms%-22.22c{1} %-18.18M - %m%n"/> </layout> </appender> <!--AdoNetappenderisuse forwrite log file into sql server--> <appendername="AdoNetAppender"type="log4net.Appender.AdoNetAppender"> <bufferSizevalue="1"/> <connectionTypevalue="System.Data.SqlClient.SqlConnection,System.Data,Version=1.0.3300.0, Culture=neutral,PublicKeyToken=b77a5c561934e089" /> <connectionString value="datasource=[SqlServer];InitialCatalog=[DatabaseName];user id=sa;password=[System12345];"/> <commandTextvalue="INSERTINTOAppLog ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES(@log_date,@thread,@log_level,@logger,@message, @exception)"/> <parameter> <parameterNamevalue="@log_date"/>
  • 7.
    <dbTypevalue="DateTime"/> <layouttype="log4net.Layout.RawTimeStampLayout"/> </parameter> <parameter> <parameterNamevalue="@thread"/> <dbTypevalue="String"/> <size value="255" /> <layouttype="log4net.Layout.PatternLayout"> <conversionPatternvalue="%thread"/> </layout> </parameter> <parameter> <parameterNamevalue="@log_level"/> <dbTypevalue="String"/> <size value="50" /> <layouttype="log4net.Layout.PatternLayout"> <conversionPattern value="%level"/> </layout> </parameter> <parameter> <parameterNamevalue="@logger"/> <dbTypevalue="String"/> <size value="255" /> <layouttype="log4net.Layout.PatternLayout"> <conversionPattern value="%logger"/> </layout> </parameter> <parameter> <parameterNamevalue="@message"/> <dbTypevalue="String"/> <size value="4000" /> <layouttype="log4net.Layout.PatternLayout"> <conversionPattern value="%message"/> </layout> </parameter> <parameter> <parameterNamevalue="@exception"/> <dbTypevalue="String"/> <size value="2000" /> <layouttype="log4net.Layout.ExceptionLayout"/> </parameter> </appender> <!--Addappender whichyou want to use, Youcan addmore then one appender. Like ifyou want save logboth plaintext or sql server ,Addboth appender.--> <root> <level value="ALL"/> <appender-ref ref="RollingLogFileAppender" /> <!--Enablethisline ifyou want write logfile into plaintext file-->
  • 8.
    <appender-ref ref="AdoNetAppender"/> <!--Enablethisline ifyou want write logfile intosql server--> </root> </log4net> Step 5. Create a database and table to save log into sql server. I am creating "Log4NetTest" database and "AppLog" table to save log into database --Sql Scriptforsave log4net loginto sql serverdatabase CreatedatabaseLog4NetTest UseLog4NetTest CREATE TABLE [dbo].[AppLog]( [Id] [int] IDENTITY(1,1) NOTNULL, [Date] [datetime] NOTNULL, [Thread] [varchar](255) NOTNULL, [Level] [varchar](50) NOTNULL, [Logger] [varchar](255) NOTNULL, [Message] [varchar](max)NOTNULL, [Exception] [varchar](max) NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] Select * fromAppLog Step 6. Use following Log4net settings in your controller, where you want use log4net privatestatic log4net.ILog Log { get; set; } ILog log = log4net.LogManager.GetLogger(typeof(classtype)); //typeof class log.Debug("Debug message"); log.Warn("Warn message"); log.Error("Errormessage"); log.Fatal("Fatalmessage");
  • 9.
    Thanks www.codeandyou.com http://www.codeandyou.com/2015/09/how-to-save- log4net-log-into-database.html Keywords - Howto save log4net log into database , How to use log4net in .net , What is Log4net