C#日志文件

写日志文件是一个很常用的功能,以前都是别人写好的,直接调用的,近期写了一个小工具,因为比较小,所以懒得引用dll文件了,直接上网找了一个,很方便,现在记录下

 public class LogClass
    {
        /**/
        /// <summary>
        /// 写入日志文件
        /// </summary>
        /// <param name="input"></param>
        public static void WriteLogFile(string input)
        {
            string dateTimeNow = DateTime.Now.ToString("yyyyMMdd");
            /**/
            ///指定日志文件的目录
            ///
            //string fname = Directory.GetCurrentDirectory() + "\\LogFile" + dateTimeNow + ".txt";//用于获得应用程序当前工作目录
            string fname = Application.StartupPath + "\\LogFile" + dateTimeNow + ".txt";//获取程序启动路径
            //StartupPath
            /**/
            ///定义文件信息对象

            FileInfo finfo = new FileInfo(fname);

            if (!finfo.Exists)
            {
                FileStream fs;
                fs = File.Create(fname);
                fs.Close();
                finfo = new FileInfo(fname);
            }

            /**/
            ///判断文件是否存在以及是否大于2K
            if (finfo.Length > 1024 * 1024 * 10)
            {
                /**/
                ///文件超过10MB则重命名
                // File.Move(Directory.GetCurrentDirectory() + "\\LogFile" + dateTimeNow + ".txt", Directory.GetCurrentDirectory() + DateTime.Now.TimeOfDay + "\\LogFile.txt");
                File.Move(Application.StartupPath + "\\LogFile" + dateTimeNow + ".txt", Directory.GetCurrentDirectory() + DateTime.Now.TimeOfDay + "\\LogFile.txt");
                /**/
                ///删除该文件
                //finfo.Delete();
            }
            //finfo.AppendText();
            /**/
            ///创建只写文件流

            using (FileStream fs = finfo.OpenWrite())
            {
                /**/
                ///根据上面创建的文件流创建写数据流
                StreamWriter w = new StreamWriter(fs);

                /**/
                ///设置写数据流的起始位置为文件流的末尾
                w.BaseStream.Seek(0, SeekOrigin.End);

                /**/
                ///写入“Log Entry : ”
                w.Write("\n\rLog Entry : ");

                /**/
                ///写入当前系统时间并换行
                w.Write("{0} {1} \n\r", DateTime.Now.ToLongTimeString(),
                    DateTime.Now.ToLongDateString());

                /**/
                ///写入日志内容并换行
                w.Write(input + "\n\r");

                /**/
                ///写入------------------------------------“并换行
                //w.Write("\n\r");

                /**/
                ///清空缓冲区内容,并把缓冲区内容写入基础流
                w.Flush();

                /**/
                ///关闭写数据流
                w.Close();
            }
        }
    }

根据我自己的需要修改了一下日志文件生成路径

Application.StartupPath + "\\LogFile" + dateTimeNow + ".txt";//获取程序启动路径

Directory.GetCurrentDirectory() + "\\LogFile" + dateTimeNow + ".txt";//用于获得应用程序当前工作目录

需要写日志的时候,调用下WriteLogFile()方法就可以了,这个可以调用的,很方便

转载:http://www.cnblogs.com/StupidsCat/archive/2012/08/02/2619499.html

 

posted @ 2016-09-13 09:59  高空燕子飞过  阅读(414)  评论(0编辑  收藏  举报