I have a wrapper I made for log4net, it has Debug, Info, Warn, Error, and Fatal methods. In my log.info it does not even take in an exception as it shouldn't being an information. The first DB insert works perfectly: Id Date Thread Level AppId Logger Class Method Message Type Exception User 44 2011-07-12 14:54:53.470 10 INFO TestApplication NULL (null) (null) Info msg (null) meisenstein
However after an insert with a type and class and method (any Warn, Error, Fatal) The next time log.Info("info msg") is called, it keeps the previous information: Id Date Thread Level AppId Logger Class Method Message Type Exception User 48 2011-07-12 14:56:04.387 10 INFO TestApplication NULL Program Main Info msg IndexOutOfRangeException meisenstein 47 2011-07-12 14:55:24.977 10 FATAL TestApplication NULL Program Main Fatal msg IndexOutOfRangeException System.IndexOutOfRangeException: Index was outside the bounds of the array. at CDS.Core.Logging.Program.Main(String[] args) in C:\SourceControl\CDS.Core.Logging\TestProgram\Program.cs:line 21 meisenstein Notice how type was null before, but now it's IndexOutOfRangeException. I have this method which sets these custom fields: private void SetExceptionDetail(string userId, Exception ex) { log4net.GlobalContext.Properties["appId"] = ApplicationName; if (userId != null) log4net.GlobalContext.Properties["user"] = userId; if (ex != null) { log4net.GlobalContext.Properties["type"] = ex.GetType().Name; log4net.GlobalContext.Properties["method"] = GetCallingMethodName(); if (ex.TargetSite != null) { if (ex.TargetSite.DeclaringType != null) log4net.GlobalContext.Properties["class"] = ex.TargetSite.DeclaringType.Name; } } } But in info, the last 3 are skipped because ex is null public void Info(string message, string userName, params MailAddress[] additionalRecipients) { if (LogLevel >= Level.Info) { try { SetExceptionDetail(userName, null); log4NetLogger.Info(message); } catch (Exception e) { SendEmail(Level.Fatal, "Failed to log info event", userName, e); } } } any ideas on how to clear it to make sure that the previous stuff does not get inserted when I call the info method? -- View this message in context: http://old.nabble.com/Log4Net-Inserting-Wrong-Data-tp32048451p32048451.html Sent from the Log4net - Users mailing list archive at Nabble.com.