示例#1
0
 public void SendMessage(PShell.psmethods.PSAlert.AlertType AlertLevel, String Source, String Message)
 {
     int level = (int)GetLevel(AlertLevel) + (20 * 8); //Local4.(AlertLevel)
     string priority = String.Format(StringValue.PriorityFormat, level);
     string timestamp = DateTime.Now.ToString(StringValue.SyslogTimeFormat);
     string hostname = Dns.GetHostName();
     string version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
     List<byte> msg = new List<byte>();
     string msgstring = String.Format(StringValue.SyslogFormat, priority, timestamp, hostname, StringValue.psftitle.Replace(" ", ""), Source, Message);
     msg.AddRange(Encoding.ASCII.GetBytes(msgstring));
     SendMessage(msg.ToArray());
 }
示例#2
0
 private SyslogLevel GetLevel(PShell.psmethods.PSAlert.AlertType level)
 {
     SyslogLevel rtn = SyslogLevel.Information;
     bool found = false;
     int idx = 0;
     int[] sidx = { 1, 2, 3, 4, 6 };
     do
     {
         SyslogLevel lvl = (SyslogLevel)sidx[idx];
         if (lvl.ToString() == level.ToString())
         {
             found = true;
             rtn = lvl;
         }
         idx++;
     } while (!found && idx < sidx.Length);
     return rtn;
 }
示例#3
0
 public void SetParameters(PShell.psparamtype p)
 {
     pgParams.SelectedObject = p;
 }
示例#4
0
 private bool AlertFilterActive(PShell.psmethods.PSAlert.AlertType atype)
 {
     bool rtn = false;
     switch (atype)
     {
         case PShell.psmethods.PSAlert.AlertType.Information:
             if (Utility.AlertFilter.Informational)
             {
                 rtn = true;
             }
             break;
         case PShell.psmethods.PSAlert.AlertType.Error:
             if (Utility.AlertFilter.Error)
             {
                 rtn = true;
             }
             break;
         case PShell.psmethods.PSAlert.AlertType.Warning:
             if (Utility.AlertFilter.Warning)
             {
                 rtn = true;
             }
             break;
         case PShell.psmethods.PSAlert.AlertType.Severe:
             if (Utility.AlertFilter.Severe)
             {
                 rtn = true;
             }
             break;
         case PShell.psmethods.PSAlert.AlertType.Critical:
             if (Utility.AlertFilter.Critical)
             {
                 rtn = true;
             }
             break;
     }
     return rtn;
 }
示例#5
0
 public void AddAlert(String message, PShell.psmethods.PSAlert.AlertType alerttype, String scriptname)
 {
     if (this.InvokeRequired)
     {
         MethodInvoker del = delegate
         {
             AddAlert(message, alerttype, scriptname);
         };
         this.Invoke(del);
     }
     else 
     {
         try
         {
             ListViewItem lvwitm = new ListViewItem();
             lvwitm.Text = alerttype.ToString();
             lvwitm.ImageIndex = (int)alerttype;
             lvwitm.SubItems.Add(message);
             lvwitm.ToolTipText = message;
             lvwitm.SubItems.Add(DateTime.Now.ToString(StringValue.TimeFormat));
             lvwitm.SubItems.Add(scriptname);
             if (AlertFilterActive(alerttype))
             {
                 lvwAlerts.Items.Add(lvwitm);
             }                    
             alerts.Add(lvwitm);
             lvwAlerts_Update();
             lvwitm.EnsureVisible();
             string alert = String.Format(StringValue.AlertFormat, lvwitm.SubItems[0].Text, lvwitm.SubItems[1].Text, lvwitm.SubItems[2].Text, lvwitm.SubItems[3].Text).Replace("\\r\\n", Environment.NewLine);
             alert += Environment.NewLine;
             LogAlert(alert);
             if (Properties.Settings.Default.UseSyslog)
             {
                 if (slog != null)
                 {
                     slog.SendMessage(alerttype, scriptname, message);    
                 }
             }                    
         }
         catch (Exception e)
         {
             DisplayError(e);
         }                
     }
 }
示例#6
0
 public void AddAlert(String message, PShell.psmethods.PSAlert.AlertType alerttype, String scriptname)
 {
     if (this.InvokeRequired)
     {
         MethodInvoker del = delegate
         {
             AddAlert(message, alerttype, scriptname);
         };
         this.Invoke(del);
     }
     else
     {
         try
         {
             ListViewItem lvwitm = new ListViewItem();
             lvwitm.Text = alerttype.ToString();
             lvwitm.ImageIndex = (int)alerttype;
             lvwitm.SubItems.Add(message);
             lvwitm.SubItems.Add(DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss tt"));
             lvwitm.SubItems.Add(scriptname);
             lvwAlerts.Items.Add(lvwitm);
             lvwAlerts_Update();
             lvwitm.EnsureVisible();
         }
         catch (Exception e)
         {
             DisplayError(e);
         }
     }
 }