//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Boolean CanLog(LogWriterSeverity severity) { switch (severity) { case LogWriterSeverity.Debug: return(config.DebugSeverity.Enabled); case LogWriterSeverity.Error: return(config.ErrorSeverity.Enabled); case LogWriterSeverity.Information: return(config.InformationSeverity.Enabled); case LogWriterSeverity.Warning: return(config.WarningSeverity.Enabled); default: return(false); } }
//------------------------------------------------------------------------------------------------------------------------------------------- void Email(String messageBody, LogWriterSeverity severity) { String ToAddress = string.Empty; if (config.EmailEnabled == false) { return; } switch (severity) { case LogWriterSeverity.Debug: if (config.DebugSeverity.EmailEnabled == false) { return; } ToAddress = config.DebugSeverity.EmailAddress; break; case LogWriterSeverity.Error: if (config.ErrorSeverity.EmailEnabled == false) { return; } ToAddress = config.ErrorSeverity.EmailAddress; break; case LogWriterSeverity.Information: if (config.InformationSeverity.EmailEnabled == false) { return; } ToAddress = config.InformationSeverity.EmailAddress; break; case LogWriterSeverity.Warning: if (config.WarningSeverity.EmailEnabled == false) { return; } ToAddress = config.WarningSeverity.EmailAddress; break; default: if (config.InformationSeverity.EmailEnabled == false) { return; } ToAddress = config.InformationSeverity.EmailAddress; break; } // Send Message MailMessage Message = new MailMessage(); Message.From = new MailAddress(config.FromEmailAddress); Message.To.Add(new MailAddress(ToAddress)); Message.Subject = string.Format("{0} - {1} Message", config.ApplicationName, severity.ToString()); Message.Body = messageBody; try { SmtpClient Smtp = new SmtpClient(); Smtp.Credentials = new System.Net.NetworkCredential(config.SmtpUser, config.SmtpPassword); Smtp.EnableSsl = config.SmtpEnableSsl; Smtp.Host = config.SmtpServer; Smtp.Port = config.SmtpPort; Smtp.Send(Message); } catch (Exception) { return; } }
//------------------------------------------------------------------------------------------------------------------------------------------- void Write(String message, Exception exception, Object sourceObject, String callerName, String callerFile, Int32 callerLine, String server, String userName, LogWriterSeverity severity, String memberName, String memberFile, int memberLine) { if (CanLog(severity) == false) { return; } log log = new log(); log.ApplicationName = config.ApplicationName; log.CallerFile = callerFile; log.CallerMethodLine = callerLine; log.CallerMethodName = callerName; log.CompanyId = companyId; log.Exception = exception != null?WriteException(exception) : String.Empty; log.ExceptionStackTrace = exception != null ? exception.StackTrace : String.Empty; log.LogCallerFile = memberFile; log.LogCallerLine = memberLine; log.LogCallerMethodName = memberName; log.LogDate = DateTime.Now; log.LogRecordId = 0; log.LogServer = server; log.LogUser = userName; log.Message = message; log.MessageType = (int)severity; log.ObjectData = WriteObjectData(sourceObject); log.ObjectType = sourceObject != null?sourceObject.GetType().Name : String.Empty; using (fischerloggingEntities context = new fischerloggingEntities()) { try { context.logs.Add(log); context.SaveChanges(); } catch { } } if (config.EmailEnabled == true) { //Email(String.Format("Message: {0}, LogId:{1}", message, log.LogId.ToString()), severity); } }
public void WriteWarning(String message, Exception ex = null, Object sourceObject = null, String callerName = "", String callerFile = "", Int32 callerLine = 0, String server = "", String userName = "", LogWriterSeverity severity = LogWriterSeverity.Warning, [CallerMemberName] String memberName = "", [CallerFilePath] String memberFile = "", [CallerLineNumber] int memberLine = 0) { Write(message, ex, sourceObject, callerName, callerFile, callerLine, server, userName, severity, memberName, memberFile, memberLine); }