What about using: // Disable logging LogManager.GetRepository().Threshold = Level.Off;
// Do stuff // Enable logging LogManager.GetRepository().Threshold = Level.All; Cheers, Nicko > -----Original Message----- > From: Ramaa Davanagere [mailto:[EMAIL PROTECTED] > Sent: 27 September 2006 12:38 > To: 'Log4NET User' > Subject: RE: Turn off logging for a specific event only > > > > Below is the structure of my code. In my constructor, I load > my configuration file and configure my log4net logger. > > > > myFunction() method gets called from the Main() method. As > you can see, when entering the myFunction() method, I want to > set the log level to OFF and then reset it to DEBUG while > exiting the function. The myFunction() methods calls several > other components and methods (for eg: a,b, c, etc) to do > stuff and hence passing the Boolean variable to this method > will not work. Also, having an separate appender will not > work in my scenario, since the methods a, b and c will be > used in various other places as well. > > > > public myConstructor() > > { > > if (logconfigpath == null) > > { > > logconfigpath = > System.AppDomain.CurrentDomain.BaseDirectory; > > logconfigpath += > System.AppDomain.CurrentDomain.RelativeSearchPath; > > > log4net.Config.XmlConfigurator.Configure(new > System.IO.FileInfo(Path.GetFullPath(logconfigpath) + > Path.DirectorySeparatorChar.ToString() + "myconfigfile.xml")); > > } > > } > > > > public void Main(XmlElement oParameter1, string sParameter2, > string sParameter3, string sParameter4) > > { > > > logger.Info(System.Reflection.MethodBase.GetCurrentMethod() + > ": Entering."); > > > > //do my stuff here. > > > > String sResult = myFunction (oParameter1, sParameter2); > > > > > logger.Info(System.Reflection.MethodBase.GetCurrentMethod() + > ": Leaving."); > > } > > > > private string myFunction(XmlElement oParameter1, string sParameter2) > > { > > //turn off logging here...I would like to set the > loglevel to OFF > > > > //do my stuff here. > > > > //turn on the logging .....I would like to reset the > loglevel to DEBUG > > > > } > > > > After looking around on the internet, I found this code > > > > log4net.Repository.Hierarchy.Logger logger2 = > (log4net.Repository.Hierarchy.Logger)log4net.LogManager.GetLog > ger("myappendername").Logger); > > logger2.Level = logger2.Repository.LevelMap["OFF"]; > > > > But this is not working as expected. Log messages are still > being writing to my log file, even though the level is set to > OFF. Obviously, I'm missing something here. > > > > Please help > > > > Thank you > > > > -Ramaa > > > > -----Original Message----- > From: Ron Grabowski [mailto:[EMAIL PROTECTED] > Sent: Tuesday, September 26, 2006 7:04 PM > To: Log4NET User > Subject: Re: Turn off logging for a specific event only > > > > Will this work? > > > > private int calculateBigNumber(bool loggingEnabled) > > > > { > > > > if (loggingEnabled && log.IsDebugEnabled) > > > > { > > > > log.Debug("Entering method"); > > > > } > > > > int result = 0; > > > > for (int i=0;i<100;i++) > > > > { > > > > result += i; > > > > } > > > > if (loggingEnabled && log.IsDebugEnabled) > > > > { > > > > log.Debug("Leaving method"); > > > > } > > > > return result; > > > > } > > > > > > > > ----- Original Message ---- > > > > From: Ramaa Davanagere <[EMAIL PROTECTED]> > > > > To: "[email protected]" > <[email protected]> > > > > Sent: Tuesday, September 26, 2006 2:28:19 PM > > > > Subject: Turn off logging for a specific event only > > > > > > > > <!-- _filtered {font-family:"Comic Sans MS"; > panose-1:3 15 7 2 3 3 2 2 2 4;} /* Style Definitions */ > p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0in; > margin-bottom:.0001pt; font-size:12.0pt; font-family:"Times > New Roman";} a:link, span.MsoHyperlink {color:blue; > text-decoration:underline;} a:visited, > span.MsoHyperlinkFollowed {color:purple; > text-decoration:underline;} span.EmailStyle17 > {font-family:"Comic Sans MS"; color:windowtext; > font-weight:normal; font-style:normal; text-decoration:none > none;} _filtered { margin:1.0in 1.25in 1.0in 1.25in;} > div.Section1 {} --> > > > > Is it possible to turn off the logging for a specific > event? I would like to turn of the logging when the code hits > a particular method and reset the logging to its original > value which is "DEBUG" while exiting that method. Is it > possible to accomplish this? If so, please provide me some > sample code on how to achieve this. My code is in c#.net and > uses log4net version 1.2.10 > > > > > > > > Please help > > > > > > > > Thanks. > > > > > > > > -Ramaa > > > > > > > > > > > > > > > > > > > > > >
