Пример #1
0
        public void EventReceived(Trace.TraceEvent traceEvent)
        {
            SqlCommand cmd = CreateInsertEventCommand(traceEvent);

            cmd.Connection = conn;
            cmd.ExecuteNonQuery();
        }
Пример #2
0
        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)
                {
                }
            }
        }
Пример #3
0
 private void SetLongColumn(TraceEvent evt, int columnid)
 {
     dreader.GetBytes(2, 0, m_B8, 0, 8);
     evt[columnid] = ToInt64(m_B8);
 }
Пример #4
0
 private void SetIntColumn(TraceEvent evt, int columnid)
 {
     dreader.GetBytes(2, 0, m_B4, 0, 4);
     evt[columnid] = ToInt32(m_B4);
 }
Пример #5
0
 private void SetGuidColumn(TraceEvent evt, int columnid)
 {
     evt[columnid] = new Guid(Encoding.Unicode.GetString((byte[])dreader[2]));
 }
Пример #6
0
 private void SetByteColumn(TraceEvent evt, int columnid)
 {
     byte[] b = new byte[(int)dreader[1]];
     evt[columnid] = b;
 }