开源一个ASP.NET记录**.LOG的类

 using System;
using System.Collections.Generic;
using System.Text;

namespace PublicClass
{
    public static class Log
    {
        public static void WriteLine(string line)
        {
            try
            {
                System.Diagnostics.Debug.Assert((line != null), " public static void WriteLine(string line) line 不能为空!");

                line = String.Format("#############{0}################## /r/n{{/r/n   {1}  /r/n}}/r/n", DateTime.Now.ToString(), line);
                line += "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/r/n/r/n/r/n";
                line = "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/r/n" + line;
                lock (line)
                {
                    //增加每一天记录一个Log文件
                    string FileName = string.Format("~/Sys_Log/{0}.log", DateTime.Now.ToString("yyyy-MM-dd"));
                    string FilePath=System.Web.HttpContext.Current.Request.MapPath(FileName);
                    if (System.IO.File.Exists(FilePath))
                    {
                        System.IO.File.SetAttributes(FilePath, System.IO.FileAttributes.Normal); //如果存在就将该文件的属性更改成可读写
                    }
                    else
                    {
                        if(!System.IO.Directory.Exists(System.Web.HttpContext.Current.Request.MapPath("~/Sys_Log/")))
                        {
                            System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Request.MapPath("~/Sys_Log/"));
                        }
                        System.IO.File.Create(FilePath);
                    }
                    System.IO.FileStream f = new System.IO.FileStream(FilePath, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.ReadWrite, System.IO.FileShare.ReadWrite);
                    byte[] buff = System.Text.ASCIIEncoding.Default.GetBytes(line);

                    long len = f.Length;
                    f.Seek(len, System.IO.SeekOrigin.Begin);
                    f.Write(buff, 0, buff.Length);
                    f.Close();
                }
            }
            catch (System.IO.IOException e)
            {
                throw (e);
            }
        }

        public static void WriteError(Exception err)
        {
            try
            {
                string line = String.Format(" /r/n{0}; /r/n{1};/r/n{2} ;/r/n", err.Message, err.Source, err.StackTrace);
                WriteLine(line);
            }
            catch (System.IO.IOException e)
            {
                throw (e);
            }
        }

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值