Wednesday, December 19, 2012

LOG 4 NET

Configutation in We..config file for Email Service for Exceptions


<configuration>
<!-- Log4Net Configuration Begin -->
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
</configSections>
<log4net>
<root>
<level value="DEBUG"/>
<appender-ref ref="LogFileAppender"/>
<appender-ref ref="SmtpAppender"/>
</root>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Logs\logFile.txt"/>
<param name="AppentToFile" value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd"/>
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss} -%m%n" />
</layout>
</appender>
<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
<to value="abc@gmail.com" />
<from value=" abc@gmail.com " />
<subject value="UI Exception Log" />
<smtpHost value="AT-MX-01.gmial.intranet" />
<bufferSize value="512" />
<lossy value="true" />
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="WARN"/>
</evaluator>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline%newline%newline" />
</layout>
</appender>
</log4net>
<!-- Log4Net Configuration End -->
<!--Connection String-->
<connectionStrings>
<add name="connectionString" connectionString="server=BBB;user id=XXX;password=yyy;database=AAAA; persist security info=false;Connection TimeOut=3000; "/>
<add name="connectionString1" connectionString="zkJ3K6ITxu/eNIw295f1Xbw4mmXB4pSD/BhqyRLiSvKsvT/dxZVIWgSv+YeXQ2bfhV2MTMGeDx6geog4kLCqbZE5v8zVQ5Fhxb14VD3DPNTSZQbRwgenHrnOOUCqt8yyACC1YMrsF/bH/aRp8u5Z1/rNstyu7UkT+xE6l4BnFAkn0bq87L9h6vBB6yKTCViWhex9pknNbotUsCsvPd2/gpZJm0o1R6L6HyChlmA4wS4hH3Gvf6xGNzWCsTCV4kYEBdet2Tmb7Gr9VaqA5xEX73JSwOwo0HFed4SOksfcU0i73mDbPg9Nc3NMxMyh3lFdR11KI3QOLMhG0Q0SVNeNE8SZofY1dJTEukzoQ87rlsdY/auMPRkOG7N5bZzISW+HhdgS+knhqVMN4z57U6N9Bicxv/imR3sjGbMrN3hhVV+XHg34TPhS17Pkwa0Y04AFV8+MwWNQzfVFOnLIqSmdP9wtIxgJ0kkbvw/wO/DFI5YKWZvj4eF1qXfTCgHf1yNwWvW4XSluMV8UZuvaEkQqJNJnIpbZdEuDijjISPZrdnMPx2Jjn9EaXMdYJvVAxalLkFMrSFMHhLRJRqvKfpINXUrAVwaJKSCiiXlMLlbMou8+UudO7vK9RCUuluHprJnoCn6wLoXK1geYl3zY9/Mb7SS9J4o7xNSamQHu9+MBs76AT5y2p5lTGFUTqX6f0nHSATg3MKMU6p/Z21X7Q0d+Iw=="/>
</connectionStrings>
<!—End Connection String-->
</configuration>


2) add Reference for log4net.dll andCreate a Class File named clsLog4netUI and  write as follows
in clas file

using System.Web;
using log4net;
using log4net.Config;
using log4net.Core;
using log4net.Appender;
using log4net.Repository.Hierarchy;
using log4net.Layout;

namespace MyProjectName
{
    public class clsLog4netUI
    {
        protected static readonly ILog logger = LogManager.GetLogger(typeof(clsLog4netUI));
        public clsLog4netUI()
        {
            log4net.Config.XmlConfigurator.Configure();
        }

        public void Debug(string ex)
        {
            logger.Debug(ex);
        }
        public void Info(string ex)
        {
            logger.Info(ex);
        }
        public void Error(string ex)
        {
            logger.Error(ex);
        }
        public void Fatel(string ex)
        {
            logger.Fatal(ex);
        }
    }
}


3) In aspx.cs file create an object for clsLog4netUI 

        clsLog4netUI objLog = new clsLog4netUI();

in
try             
{
}
catch (Exception ex)
 {
    objLog.Error(ex.ToString());
 }

Thats it with proper Configuration in web.config it will send an email to the Email address given in we.config file

we can implemete this same thing in WCF Service and UI also where we can get exceptions..