ASP.Net/Development/Event Log
Get Event Entry from Event log (C#)
<source lang="csharp">
<%@ Page language="c#" src="EventReviewPage.aspx.cs" AutoEventWireup="false" Inherits="EventReviewPage" %> <HTML>
<body> <form id="Form1" method="post" runat="server"> <asp:label id="lblResult" style="Z-INDEX: 100; LEFT: 32px; POSITION: absolute; TOP: 160px" runat="server" Width="674px" Height="16px" Font-Names="Verdana" Font-Size="Smaller" BorderStyle="Inset" BorderWidth="1px" BackColor="#FFFFC0"></asp:label><asp:textbox id="txtLog" style="Z-INDEX: 107; LEFT: 128px; POSITION: absolute; TOP: 32px" runat="server" Width="193px" Height="24px">Application</asp:textbox><asp:label id="Label2" style="Z-INDEX: 106; LEFT: 32px; POSITION: absolute; TOP: 40px" runat="server" Width="96px" Height="16px" Font-Names="Verdana" Font-Size="Smaller">Log:</asp:label><asp:textbox id="txtSource" style="Z-INDEX: 102; LEFT: 128px; POSITION: absolute; TOP: 64px" runat="server" Width="193px" Height="24px">ErrorTestLog_Page</asp:textbox><asp:label id="Label1" style="Z-INDEX: 103; LEFT: 32px; POSITION: absolute; TOP: 64px" runat="server" Width="96px" Height="16px" Font-Names="Verdana" Font-Size="Smaller">Source:</asp:label><asp:button id="cmdGet" style="Z-INDEX: 104; LEFT: 200px; POSITION: absolute; TOP: 104px" runat="server" Width="120px" Text="Get Entries" Font-Names="Verdana" Font-Size="Smaller"></asp:button><asp:checkbox id="chkAll" style="Z-INDEX: 105; LEFT: 336px; POSITION: absolute; TOP: 32px" runat="server" Width="204px" Height="16px" Text="Get All Entries for this Log (May Be Extremely Slow)" AutoPostBack="True" Font-Names="Verdana" Font-Size="Smaller"></asp:checkbox></form> </body>
</HTML>
<%-- using System; using System.Collections; using System.ruponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Diagnostics;
public class EventReviewPage : System.Web.UI.Page { protected System.Web.UI.WebControls.Label lblResult; protected System.Web.UI.WebControls.TextBox txtLog; protected System.Web.UI.WebControls.Label Label2; protected System.Web.UI.WebControls.TextBox txtSource; protected System.Web.UI.WebControls.Label Label1; protected System.Web.UI.WebControls.Button cmdGet; protected System.Web.UI.WebControls.CheckBox chkAll; private void Page_Load(object sender, System.EventArgs e) { } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { InitializeComponent(); base.OnInit(e); } private void InitializeComponent() { this.cmdGet.Click += new System.EventHandler(this.cmdGet_Click); this.chkAll.CheckedChanged += new System.EventHandler(this.chkAll_CheckedChanged); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void chkAll_CheckedChanged(object sender, System.EventArgs e) { if (chkAll.Checked == true) { txtSource.Text = ""; txtSource.Enabled = false; } else { txtSource.Enabled = true; } } private void cmdGet_Click(object sender, System.EventArgs e) { if (!EventLog.Exists(txtLog.Text)) { lblResult.Text = "The event log " + txtLog.Text ; lblResult.Text += " doesn"t exist."; } else { System.Text.StringBuilder sb = new System.Text.StringBuilder(); EventLog log = new EventLog(txtLog.Text); foreach (EventLogEntry entry in log.Entries) { // Write the event entries to the page. if (chkAll.Checked == true || entry.Source == txtSource.Text) { sb.Append("Entry Type: "); sb.Append(entry.EntryType.ToString()); sb.Append("
Message: "); sb.Append(entry.Message); sb.Append("
Time Generated: "); sb.Append(entry.TimeGenerated); sb.Append("
"); } lblResult.Text = sb.ToString(); } } } }
--%>
</source>
Write to Event log in code behind (C#)
<source lang="csharp">
<%@ Page language="c#" src="ErrorTestLog.aspx.cs" AutoEventWireup="false" Inherits="ErrorTestLog" %> <HTML>
<body> <form id="Form1" method="post" runat="server"> <asp:Label id="Label2" style="Z-INDEX: 106; LEFT: 144px; POSITION: absolute; TOP: 32px" runat="server" Font-Size="Smaller" Font-Names="Verdana" Width="16px" Height="16px">B:</asp:Label> <asp:TextBox id="txtA" style="Z-INDEX: 101; LEFT: 32px; POSITION: absolute; TOP: 32px" runat="server" Font-Size="Smaller" Font-Names="Verdana" Width="97px" Height="20px"></asp:TextBox> <asp:TextBox id="txtB" style="Z-INDEX: 102; LEFT: 160px; POSITION: absolute; TOP: 32px" runat="server" Font-Size="Smaller" Font-Names="Verdana" Width="97px" Height="20px"></asp:TextBox> <asp:Button id="cmdCompute" style="Z-INDEX: 103; LEFT: 280px; POSITION: absolute; TOP: 24px" runat="server" Font-Size="Smaller" Font-Names="Verdana" Width="152px" Height="32px" Text="Divide A / B"></asp:Button> <asp:Label id="Label1" style="Z-INDEX: 104; LEFT: 16px; POSITION: absolute; TOP: 32px" runat="server" Font-Size="Smaller" Font-Names="Verdana" Width="16px" Height="16px">A:</asp:Label> <asp:Label id="lblResult" style="Z-INDEX: 105; LEFT: 24px; POSITION: absolute; TOP: 80px" runat="server" Font-Size="Smaller" Font-Names="Verdana" Width="592px" Height="96px"></asp:Label> <asp:CheckBox id="chkLog" style="Z-INDEX: 107; LEFT: 456px; POSITION: absolute; TOP: 32px" runat="server" Font-Size="Smaller" Font-Names="Verdana" Width="240px" Height="24px" Text="Log errors to ProseTech log"></asp:CheckBox> </form> </body>
</HTML>
<%-- using System; using System.Collections; using System.ruponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Diagnostics;
public class ErrorTestLog : System.Web.UI.Page { protected System.Web.UI.WebControls.Label Label2; protected System.Web.UI.WebControls.TextBox txtA; protected System.Web.UI.WebControls.TextBox txtB; protected System.Web.UI.WebControls.Button cmdCompute; protected System.Web.UI.WebControls.Label Label1; protected System.Web.UI.WebControls.Label lblResult; protected System.Web.UI.WebControls.CheckBox chkLog; private void Page_Load(object sender, System.EventArgs e) { // Put user code to initialize the page here } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit(e); } /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.cmdCompute.Click += new System.EventHandler(this.cmdCompute_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void cmdCompute_Click(object sender, System.EventArgs e) { try { decimal a, b, result; a = Decimal.Parse(txtA.Text); b = Decimal.Parse(txtB.Text); result = a / b; lblResult.Text = result.ToString(); } catch (Exception err) { lblResult.Text = "Message: " + err.Message + "
"; lblResult.Text += "Source: " + err.Source + "
"; lblResult.Text += "Stack Trace: " + err.StackTrace; lblResult.ForeColor = Color.Red; // Write the information to the event log. EventLog log; if (chkLog.Checked == true) { log = new EventLog("ProseTech"); } else { log = new EventLog(); } log.Source = "ErrorTestLog_Page"; log.WriteEntry(err.Message, EventLogEntryType.Error); } } }
--%>
</source>