错误日志System.log写入问题

数据库处理SQLHelper.Dll中的SystemError类处理网站错误信息的时候,会写system.log日志,往往出现不能写入的问题。解决办法如下:

1、SystemError的代码如下:

namespace SQLHelper
{
    /// <summary>
    /// 错误处理函数,用于记录错误日志
    /// </summary>
    public class SystemError
    {
        //记录错误日志位置,System.Configuration.ConfigurationManager.AppSettings["LogDir"]从Config中取得虚拟路径, System.Web.HttpContext.Current.Server.MapPath映射到物理路径
        private static string m_path = System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["LogDir"]);

        /// <summary>
        /// 记录日志至文本文件
        /// </summary>
        /// <param name="message">记录的内容</param>
        public static void CreateErrorLog(string message)
        {
            if (!Directory.Exists(m_path))
            {
                Directory.CreateDirectory(m_path);
            }
            string strFileName = m_path + "//Systemlog.txt";
            if (File.Exists(strFileName))
            {
                ///如果日志文件已经存在,则直接写入日志文件
                StreamWriter sr = File.AppendText(strFileName);
                sr.WriteLine("/n");
                sr.WriteLine(DateTime.Now.ToString() + message);
                sr.Close();
            }
            else
            {
                ///创建日志文件
                StreamWriter sr = File.CreateText(strFileName);
                sr.Close();
            }
        }
    }
}

 

2、webconfig配置

<appSettings>
        <add key="LogDir" value="~/log/"/>//网站根目录下建log文件夹
  </appSettings>

 

 <customErrors mode="Off" defaultRedirect="~/Error.aspx"> </customErrors>//此处为系统报错后的错误显示页,随便写一个错误提示即可,实际的错误信息在Systemlog.txt中。所有的网站异常代码将给用户显示Error.aspx页面。

3、windows设置

如下图1和2、

 

首先在工具——文件夹选项中取掉简单文件共享,再右键Log文件夹,给ASP.NET用户赋予写入权限,即可对systemlog.txt文件进行写入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值