在ASP.Net中写系统日志

    技术2022-05-11  56

    ASP.Net默认情况下,是没有写系统日志的权限的。要在ASP.Net中写系统日志,首先我们要先有其权限。我们可以通过设置或修改注册表的权限来解决。

    方法1:“开始->运行”,输入命令,“regedt32”,找到“System->CurrentControlSet->Services->Eventlog”,选择“安全->权限->添加”,然后找到本机的“AspNet”用户,加进来并且给读取权限就好了,加进来后目录中会多一个“aspnet_wp account”

    方法2:在注册表:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Service/EventLog增加User的完全操纵权限

    测试代码如下:

    using System;using System.Collections;using System.ComponentModel;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;

    namespace testEventLog{ /// <summary> /// Summary description for Index. /// </summary> public class Index : System.Web.UI.Page {  private void Page_Load(object sender, System.EventArgs e)  {   // Put user code to initialize the page here   EntrytoLog();  }  void EntrytoLog()  {   int[] array = new int[9];   try   {    for(int i = 0; i <= 9; i++)    {     array[i] = i;     Response.Write("The value of the i is :" + i + "<br>");    }   }            catch (Exception ex)            {                  Index.Log("Town", ex.ToString());            }

      }  public static void Log(string sourceName, string message)

      {   EventLog eventLog = null;

       // 确定日志是否存在   if (!(EventLog.SourceExists(sourceName)))   {    EventLog.CreateEventSource(sourceName, sourceName + "Log");   }    if (eventLog == null)   {    eventLog = new EventLog(sourceName + "Log");

        eventLog.Source = sourceName;   }

       // 记录日志信息   eventLog.WriteEntry(message, System.Diagnostics.EventLogEntryType.Error);

      }

      #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.Load += new System.EventHandler(this.Page_Load);

      }  #endregion }}


    最新回复(0)