首页 > 代码库 > log记录日志

log记录日志

由于之前的工作中用到了记录日志,就像提笔忘字一样,我怎么想都想不出来,现在记一下

先建一个类Log

//记录日志信息public class Log{    public static void LogMsg(int type,string name,string msg)    {        //日志存放的路径        string path = @"d:\log\";        //文件名以时间命名        string file = DateTime.Now.ToShortDateString ()+".txt";        FileStream fs = null;        //判断文件是否存在        if(!File.Exists(file)){            fs = File.Create(path+file);        }else{    //文件存在,FileMode.Append直接追加到文件的下一行,FileMode.Create则是每次都把原来的覆盖掉,文件中只保存一条文档,如果不存在则创建                fs = File.Open(path+file,FileMode.Append);        }        StreamWriter sw = new StreamWriter(fs);//using限制着文件流的开关        using(sw)        {            string content = "";            if(type==0)            {                content = "["+name+"] -- "+DateTime.Now.ToString()+"  --  结果:"+msg;            }            else            {                content = "["+name+"] -- "+DateTime.Now.ToString()+"  --  结果:失败,原因:"+msg;            }            //按行写入            sw.WriteLine(content);            }    }}     

 

 

后台调用的时候

Log.LogMsg(type,name,msg);

读取文档中的日志

string path = "@/log/"; //定义上传路径  StreamReader smRead = new StreamReader(path,   System.Text.Encoding.Default);string[] strs =smRead.ReadAllLines();// 按行读取

 

接着是复制的方法

public static void Main()    {        FileStream fr = new FileStream(@"g:\变节-潜罪犯.mkv",FileMode.Open);        FileStream fw = null;        //判断文件是否存在        if(!File.Exists(@"d:\变节-潜罪犯.mkv"))        {            fw = new FileStream(@"d:\变节-潜罪犯.mkv",FileMode.Create);        }        else        {            Console.WriteLine("文件已经存在,是否覆盖?Y/N");            if(Console.ReadLine().ToLower()=="y")            {                fw =  new FileStream(@"d:\变节-潜罪犯.mkv",FileMode.Create);            }        }        byte[] buffer = new byte[1024*4];        //获得总长度        long size = fr.Length;        int readsize = 0;        using(fr)        {            using(fw)            {                int i = 0;                while((i=fr.Read(buffer,0,buffer.Length))!=0)                {                                                //获得已经读取的字节数                        readsize+=i;                        //计算百分比                        double d = (double)readsize/size *100 ;                        Console.WriteLine(d.ToString("0.0")+"%");                        fw.Write(buffer,0,i);                                    }            }        }    }