public void EventReceived(Trace.TraceEvent traceEvent) { SqlCommand cmd = CreateInsertEventCommand(traceEvent); cmd.Connection = conn; cmd.ExecuteNonQuery(); }
public void EventReceived(Trace.TraceEvent traceEvent) { if (emailConfig.Enabled && emailConfig.Events.Contains(traceEvent.EventClass)) { try { MailMessage msg = new MailMessage(); msg.From = from; foreach (var t in emailConfig.Receipients) { msg.To.Add(t); } var e = context.SqlTraceEvents[traceEvent.EventClass]; var evtCtgr = context.SqlTraceCategories[e.CategoryId]; msg.Subject = "SqlAuditor Notification - " + e.Name; StringBuilder sb = new StringBuilder(); sb.AppendFormat("Event Name: {0}\n", e.Name); sb.AppendFormat("Event Category: {0}\n", evtCtgr.Name); foreach (var kv in traceEvent.Values) { sb.AppendFormat("{0}: {1}\n", context.SqlTraceColumns[kv.Key].Name, kv.Value.ToString()); if (context.SqlTraceColumns[kv.Key].HasSubClassValues && context.SqlTraceEvents[traceEvent.EventClass].SubClassValues.ContainsKey(kv.Key)) { sb.AppendFormat("{0}_VALUE: {1}\n", context.SqlTraceColumns[kv.Key].Name, context.SqlTraceEvents[traceEvent.EventClass].SubClassValues[kv.Key][(int)kv.Value].Name); } } sb.AppendLine("Powered by SqlAuditor"); sb.AppendLine("http://github.com/iraklisk/SqlAuditor"); msg.Body = sb.ToString(); using (smtp = new SmtpClient(emailConfig.Server, emailConfig.Port)) { smtp.EnableSsl = emailConfig.UseSSL; smtp.Credentials = new NetworkCredential(emailConfig.Username, emailConfig.Password); smtp.Send(msg); } } catch (Exception ex) { } } }
private void SetLongColumn(TraceEvent evt, int columnid) { dreader.GetBytes(2, 0, m_B8, 0, 8); evt[columnid] = ToInt64(m_B8); }
private void SetIntColumn(TraceEvent evt, int columnid) { dreader.GetBytes(2, 0, m_B4, 0, 4); evt[columnid] = ToInt32(m_B4); }
private void SetGuidColumn(TraceEvent evt, int columnid) { evt[columnid] = new Guid(Encoding.Unicode.GetString((byte[])dreader[2])); }
private void SetByteColumn(TraceEvent evt, int columnid) { byte[] b = new byte[(int)dreader[1]]; evt[columnid] = b; }