Return-Path: Delivered-To: apmail-logging-log4net-user-archive@www.apache.org Received: (qmail 26513 invoked from network); 19 May 2009 15:25:13 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 19 May 2009 15:25:13 -0000 Received: (qmail 83618 invoked by uid 500); 19 May 2009 15:25:12 -0000 Delivered-To: apmail-logging-log4net-user-archive@logging.apache.org Received: (qmail 83578 invoked by uid 500); 19 May 2009 15:25:12 -0000 Mailing-List: contact log4net-user-help@logging.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: "Log4NET User" List-Id: Delivered-To: mailing list log4net-user@logging.apache.org Received: (qmail 83569 invoked by uid 99); 19 May 2009 15:25:12 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 19 May 2009 15:25:12 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of karym6@hotmail.com designates 65.55.111.163 as permitted sender) Received: from [65.55.111.163] (HELO blu0-omc4-s24.blu0.hotmail.com) (65.55.111.163) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 19 May 2009 15:25:00 +0000 Received: from BLU127-W28 ([65.55.111.137]) by blu0-omc4-s24.blu0.hotmail.com with Microsoft SMTPSVC(6.0.3790.3959); Tue, 19 May 2009 08:24:39 -0700 Message-ID: Content-Type: multipart/alternative; boundary="_e354b3c2-8a33-43bc-a58a-940247f1ef44_" X-Originating-IP: [194.9.188.21] From: Karim Bourouba To: Subject: SystemNullReferenceException usgin log4net with MySql Date: Tue, 19 May 2009 16:24:39 +0100 Importance: Normal MIME-Version: 1.0 X-OriginalArrivalTime: 19 May 2009 15:24:39.0022 (UTC) FILETIME=[ECBBB0E0:01C9D895] X-Virus-Checked: Checked by ClamAV on apache.org --_e354b3c2-8a33-43bc-a58a-940247f1ef44_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Hi There=2C =20 I have been working with log4net now for a few weeks=2C after some work I h= ave managed to use the ADONetAppender to log to a MySQL DB. However=2C alth= ough I can get messages into my DB=2C I am getting the following error on m= y console: =20 log4net:ERROR [AdoNetAppender] Could not open database connection [] System.ArgumentNullException: Key cannot be null. Parameter name: key at System.Collections.Hashtable.get_Item(Object key) at MySql.Data.MySqlClient.MySqlPoolManager.GetPool(MySqlConnectionString= Builder settings) at MySql.Data.MySqlClient.MySqlConnection.Open() at log4net.Appender.AdoNetAppender.InitializeDatabaseConnection() log4net:ERROR [AdoNetAppender] Could not open database connection [] System.ArgumentNullException: Key cannot be null. Parameter name: key at System.Collections.Hashtable.get_Item(Object key) at MySql.Data.MySqlClient.MySqlPoolManager.GetPool(MySqlConnectionString= Builder settings) at MySql.Data.MySqlClient.MySqlConnection.Open() at log4net.Appender.AdoNetAppender.InitializeDatabaseConnection() =20 The code for logging to my DB is as follows: =20 using log4net=3B using log4net.Appender=3B using log4net.Repository.Hierarchy=3B using MySql.Data.MySqlClient=3B using System=3B using System.Collections.Generic=3B using System.Data.OleDb=3B using System.Text=3B namespace BGCPLogger.LogSetup { public class SetUpLog { internal readonly ILog _log =3D LogManager.GetLogger(typeof(SetUpLog))=3B /**************************************************************************= ***/ internal SetUpLog() { log4net.Config.XmlConfigurator.Configure()=3B } /**************************************************************************= ***/ public SetUpLog(string dbConn) { log4net.Config.XmlConfigurator.Configure()=3B createAdoSettings(dbConn)=3B } /**************************************************************************= ***/ private Hierarchy hierachy() { Hierarchy h =3D (Hierarchy)log4net.LogManager.GetRepository()=3B return h=3B } /**************************************************************************= ***/ private AdoNetAppender adoAppender() { Hierarchy myHierarchy =3D hierachy()=3B if (myHierarchy !=3D null) { AdoNetAppender adoApp =3D (AdoNetAppender)myHierarchy.Root.GetAppender("ADO= NetAppender")=3B return adoApp=3B } return null=3B } /**************************************************************************= ***/ private void createAdoSettings(string dbConn) { AdoNetAppender myAppender =3D adoAppender()=3B if (myAppender !=3D null) { myAppender.ConnectionString =3D dbConn=3B myAppender.UseTransactions =3D true=3B myAppender.ActivateOptions()=3B } } } } My log4net section in my app.config looks like this: =20 =20 =20 I am sure this is a fairly simple thing to fix=2C right now I am assuming t= hat it is just some missing configuration. If anyone could shed some light = on this=2C I would be very greatful. =20 BR _________________________________________________________________ Share your photos with Windows Live Photos =96 Free. http://clk.atdmt.com/UKM/go/134665338/direct/01/= --_e354b3c2-8a33-43bc-a58a-940247f1ef44_ Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable
Hi There=2C
 =3B
I have been working with log4net now for a few weeks=2C after some wor= k I have managed to use the ADONetAppender to log to a MySQL DB. However=2C= although I can get messages into my DB=2C I am getting the following error= on my console:
 =3B

 =3B
log4net:ERROR [AdoNetAppender] Could not open databa= se connection []
System.ArgumentNullException: Key cannot be null.
Pa= rameter name: key
 =3B =3B at System.Collections.Hashtable.get_I= tem(Object key)
 =3B =3B at MySql.Data.MySqlClient.MySqlPoolMana= ger.GetPool(MySqlConnectionStringBuilder settings)
 =3B =3B at M= ySql.Data.MySqlClient.MySqlConnection.Open()
 =3B =3B at log4net= .Appender.AdoNetAppender.InitializeDatabaseConnection()
log4net:ERROR [A= doNetAppender] Could not open database connection []
System.ArgumentNull= Exception: Key cannot be null.
Parameter name: key
 =3B =3B a= t System.Collections.Hashtable.get_Item(Object key)
 =3B =3B at = MySql.Data.MySqlClient.MySqlPoolManager.GetPool(MySqlConnectionStringBuilde= r settings)
 =3B =3B at MySql.Data.MySqlClient.MySqlConnection.O= pen()
 =3B =3B at log4net.Appender.AdoNetAppender.InitializeData= baseConnection()
 =3B
The code for logging to my DB is as follows= :
 =3B
using= log4net=3B
using log4net.Appender= =3B
using log4net.Repository.Hierarchy=3B
using MySql.Data.MySqlClient=3B
using System=3Busing System.Collections.Generic=3B
using Syste= m.Data.OleDb=3B
using System.Text=3B
namespace
BGCPLogger.LogSetup
{

public= class
SetUpLog
{
internal readonly ILog _log= =3D LogManager= .GetLogger(typeof(SetUpLog))= =3B
/*****************************= ************************************************/
=
internal SetUpLog()
{log4net.Config.
XmlConfigurator
.Configure()=3B
}
/*********************************************************************= ********/
public= SetUpLog(string dbConn)
{
log4net.Config.
XmlConfigurator.Configure()=3B
createAd= oSettings(dbConn)=3B
}
/*******= **********************************************************************/
=

private Hierarchy= hierachy()
{
Hierarchy<= FONT size=3D2> h =3D (
Hierarchy)log4net.LogManager.GetRepository()=3B
return h=3B
}
/***************************************************************= **************/

privat= e AdoNetAppende= r adoAppender()
{
Hierarchy myHierarchy =3D hierachy()=3B
<= /FONT>if (myHierarchy = !=3D null)
{=
AdoNetAppender adoApp =3D (AdoNetAppender
)myHierarchy.Root.GetAppender("ADONetAppender")=3B
return adoApp=3B
}
<= FONT color=3D#0000ff size=3D2>return
null=3B
}
/***************************************************= **************************/

private vo= id createAdoSettings(string dbConn)
{
AdoNetAppender myAppender =3D adoAppend= er()=3B
if (= myAppender !=3D null)
{
myAppender.ConnectionString =3D dbConn=3B
myAppender.UseT= ransactions =3D
true=3B
myAppender.ActivateOptions()=3B
}
}
}
}
<= BR>My log4net section in my app.config looks like this:
 =3B
<=3B
log4= net>=3B
<=3B
root>=3B
<=3B
level value=3D"INFO"
/>=3B<= BR><=3Bappender-ref ref=3D"ColoredConsoleAppender" />=3B
<=3B<= /FONT>appender-ref ref=3D"ADONetAppender"= />=3B
<=3B/
root>=3B
<= =3B
appender name=3D"ADONetAppender" type=3D"log4net.Appender.ADONet= Appender">=3B
<=3B
bufferSize<= /FONT> value=3D"1" />=3B
<=3B
connectionType value=3D"MySql.Data.MySqlClient.MySqlConnection=2C MySql.Data<= /FONT>" />=3B
<=3B
commandText= value= =3D"insert into `tbl_lg_mlog_task_l= ogs`(mlog_lastuser=2Cmlog_thread=2Cmlog_level=2Cmlog_logger=2Cmlog_message= =2Cmlog_exception)values(''=2C?thread=2C?log_level=2C'My Log'=2C?message=2C= ?exception)" />=3B
<=3B
parame= ter>=3B
<=3B
parameterName value=3D"?thread" />=3B
<=3B
dbType value=3D"String"
/>=3B=
<=3B
size value=3D"255
" />=3B
<=3B
layout type=3D"
log4net= .Layout.PatternLayout">=3B
<=3B
conversionPattern value=3D<= FONT color=3D#000000 size=3D2>"
%t" /= >=3B
<=3B/
layout>=3B
<=3B/
parameter>=3B
<=3B
= parameter>=3B
<=3B
parameterName v= alue=3D"?log_level" />=3B
<= =3B
dbType value=3D"String"<= FONT color=3D#0000ff size=3D2> />=3B
<=3B
size value=3D"
50<= FONT color=3D#000000 size=3D2>"
/>= =3B
<=3B
layout type=3D
"= log4net.Layout.PatternLayout">=3B
<= =3B
conversionPattern value=3D"%p"<= /FONT> />=3B
<=3B/
layout>=3B
&= lt=3B/
parameter>=3B
<=3B
param= eter>=3B
<=3B
parameterName value=3D"?logger" />=3B
<=3B
dbType value=3D"String"
/>=3B=
<=3B
size value=3D"512
" />=3B
<=3B
layout type=3D"
log4net= .Layout.PatternLayout">=3B
<=3B
conversionPattern value=3D<= FONT color=3D#000000 size=3D2>"
%c
" /= >=3B
<=3B/
layout>=3B
<=3B/
parameter>=3B
<=3B
= parameter>=3B
<=3B
parameterName v= alue=3D"?host" />=3B
<=3BdbType value=3D"String" />=3B
<=3B
size value=3D"50" />=3B<=3Blayout type=3D"log4net.Layout.PatternLayout">=3B
<=3BconversionPattern value=3D"%X{host}
" />=3B
<=3B/
layout>=3B
&= lt=3B/
parameter>=3B
<=3B
param= eter>=3B
<=3B
parameterName value=3D"?message" />=3B
<=3B
dbType value=3D"String"
/>=3B=
<=3B
size value=3D"4000
" />=3B
<=3B
layout type=3D<= FONT color=3D#000000 size=3D2>"
log4ne= t.Layout.PatternLayout">=3B
<=3B
conversionPattern value=3D"%m<= /FONT>" />=3B
<=3B/
layout>=3B
<=3B/
parameter>=3B
<=3Bparameter>=3B
<=3B
parameterName v= alue=3D"?exception" />=3B
<= =3B
dbType value=3D"String"<= FONT color=3D#0000ff size=3D2> />=3B
<=3B
size value=3D"
2000" /&g= t=3B
<=3B
layout type=3D
"log4net.Layout.ExceptionLayout" />=3B<=3B/parameter>=3B
<=3B/
= appender>=3B
<=3B
appender name=3D"LogFileAppender"<= BR>type<= FONT color=3D#0000ff size=3D2>=3D"log4net.Appender.FileAppender" >=3B<=3Bparam name=3D"File"= value= =3D"C:\log-file.txt" />=3B
&l= t=3B
param name=3D"AppendToFile" v= alue=3D"true" />=3B
<=3Blayout type=3D"log4net.Layout.PatternLayout">=3B
<=3B
param name= =3D"Header" value=3D"[Header]\r\n= "/>=3B
<=3B
param name
=3D"F= ooter" value=3D"[Footer]\r\n"/>=3B
<=3B/
layout>=3B
<=3B=
filter type=3D"log4net.Filter.LevelRangeFilter">=3B
<=3Bparam= name=3D"LevelMin" value=3D
"DEBUG" />=3B
<=3B
param name
=3D"= LevelMax" value=3D"WARN" />=3B
<=3B/
filter>=3B
<=3B/appender>=3B
<=3B
appender<= FONT color=3D#0000ff size=3D2>
name=3D"ColoredConsoleAppender" type
=3D<= /FONT>"log4net.Appender.ColoredConsoleAppender" >=3B
<=3B
mapping>=3B=
<=3B
level value=3D"INFO
" />=3B
<=3B
foreColor value
=3D"G= reen=2C HighIntensity" />=3B
<=3B/
mapping>=3B
<=3B
mapping
&= gt=3B
<=3B
level value=3D
"Warn= " />=3B
<=3B
foreColor = value= =3D"Cyan=2C HighIntensity" />=3B
<=3B/
mapping>=3B
<=3Bmapping>=3B
<=3B
level
value=3D= "Fatal" />=3B
<=3B
foreColor
= value=3D"Red=2C HighIntensity" />=3B
<=3B/
mapping>=3B
<= =3B
mapping>=3B
<=3B
level val= ue=3D"Error" />=3B
<=3BforeColor value=3D"Yellow=2C HighIntensity" />=3B
<=3B/
mapping
>= =3B
<=3B
mapping>=3B
<=3B
= level value=3D"Debug" />=3B
&= lt=3B
foreColor value=3D"Cyan=2C HighIntensity
" />=3B
<=3B/mapping>=3B
<=3B
layout type= =3D"log4net.Layout.PatternLayout">=3B<=3Bparam name=3D"Header" val= ue=3D"[Header]\r\n" />=3B
<= =3B
param name=3D"Footer"
value=3D"[Footer]\r\n" />=3B
<=3Bparam name=3D"ConversionPattern" v= alue=3D"%d [%t] %-5p %m%n" />=3B<= BR><=3B/layout>=3B
<=3B/
app= ender>=3B
<=3B/
log4net>=3B<= /FONT>
 =3B
I am sure this is a fairly simple thing to fix=2C right now= I am assuming that it is just some missing configuration. If anyone could = shed some light on this=2C I would be very greatful.
 =3B
BR




" Upgrade to Internet Explorer 8 Optimised for MSN. =20 " Download Now = --_e354b3c2-8a33-43bc-a58a-940247f1ef44_--