// http://msdn.microsoft.com/en-us/library/system.web.httpapplication.init(VS.71).aspx public override void Init() { base.Init(); // Get our error handler, so we can write exceptions ErrorModule = Modules["ErrorLog"] as ErrorLogModule; // this requires full trust }
/// <summary> /// Write message to log file. /// </summary> /// <param name="message"></param> /// <param name="logModule"></param> public static void Write(string message, ErrorLogModule logModule) { string path = string.Empty; DateTime dt = DateTime.Now; try { //Create folder name switch (logModule) { case ErrorLogModule.MCM: { path = CreateDirectory("MCM//") + dt.ToString("yyyy-MM-dd") + ".log"; break; } case ErrorLogModule.VMS: { path = CreateDirectory("Services/VMS//") + dt.ToString("yyyy-MM-dd") + ".log"; break; } case ErrorLogModule.LDS: { path = CreateDirectory("Services/LDS//") + dt.ToString("yyyy-MM-dd") + ".log"; break; } case ErrorLogModule.MainDashboard: { path = CreateDirectory("DashBoard//") + dt.ToString("yyyy-MM-dd") + ".log"; break; } case ErrorLogModule.LoginModule: { path = CreateDirectory("Login//") + dt.ToString("yyyy-MM-dd") + ".log"; break; } case ErrorLogModule.Report: { path = CreateDirectory("WebReport//") + dt.ToString("yyyy-MM-dd") + ".log"; break; } case ErrorLogModule.WebDashboard: { path = CreateDirectory("WebDashboard//") + dt.ToString("yyyy-MM-dd") + ".log"; break; } case ErrorLogModule.WebAPI: { path = CreateDirectory("WebAPI//") + dt.ToString("yyyy-MM-dd") + ".log"; break; } case ErrorLogModule.MobileWebAPI: { path = CreateDirectory("MobileWebAPI//") + dt.ToString("yyyy-MM-dd") + ".log"; break; } case ErrorLogModule.InboundSMS: { path = CreateDirectory("SMS/Inbound//") + dt.ToString("yyyy-MM-dd") + ".log"; break; } case ErrorLogModule.OutboundSMS: { path = CreateDirectory("SMS/Outbound//") + dt.ToString("yyyy-MM-dd") + ".log"; break; } case ErrorLogModule.MLFFWeb: { path = CreateDirectory("MLFFWeb//") + dt.ToString("yyyy-MM-dd") + ".log"; break; } case ErrorLogModule.GeneralLog: { path = CreateDirectory("GeneralLog//") + dt.ToString("yyyy-MM-dd") + ".log"; break; } case ErrorLogModule.DTSService: { path = CreateDirectory("Services/DTS//") + dt.ToString("yyyy-MM-dd") + ".log"; break; } case ErrorLogModule.ServiceMonitor: { path = CreateDirectory("Services/ServiceMonitor//") + dt.ToString("yyyy-MM-dd") + ".log"; break; } case ErrorLogModule.MobileService: { path = CreateDirectory("Services/MobileService//") + dt.ToString("yyyy-MM-dd") + ".log"; break; } } //Write log to file. for (int i = 0; i < 10; i++) { try { using (StreamWriter writer = new StreamWriter(path, true)) { writer.WriteLine(GetFormattedMessage(message)); break; } } catch { Thread.Sleep(50); } } } catch (Exception ex) { try { path = CreateDirectory("GENERAL//") + dt.ToString("yyyy-MM-dd") + ".log"; using (StreamWriter writer = new StreamWriter(path, true)) { writer.WriteLine(GetFormattedMessage("Exception in log file writer. Original message was " + message + Environment.NewLine + ex.ToString())); } } catch { //Ignore exception } } }