zoukankan      html  css  js  c++  java
  • C# 日志记录

    public class LogMrg
        {
           public static string oldfileName = "";
           /// <summary>
           /// 
           /// </summary>
           /// <param name="logcontent">日志内容</param>
           /// <param name="filename">完全路径名(路径+文件名)</param>
           public static void WriteLog(string logcontent,string filename)
           {
               WriteLogFile(logcontent, filename);
           }
           /// <summary>
           /// 必须要在配置文件的节点 appSetting 下添加一个节点 fname.
           /// </summary>
           /// <param name="input"></param>
           public static void WriteLogFile(string input)
           {
               if (oldfileName.Trim() == "")
               {
                   oldfileName = ConfigurationManager.AppSettings["fname"].ToString();
               }
               FileInfo finfo = new FileInfo(oldfileName);
           
               //如果文件大大小大于2M,则新建一个文件
               if (finfo.Exists && finfo.Length > 20480)
               {
                   oldfileName = oldfileName + DateTime.Now.ToString("yyyyMMddHHmmss")+".txt";
               }
               WriteLogFile(input, oldfileName);
            
           }
           /// <summary>
           /// fname:指定日志文件的目录
           /// </summary>
           /// <param name="input">日志内容</param>
           /// <param name="fname">完全路径名(路径+文件名)</param>
            public static  void WriteLogFile(string input,string fname)
            {
                //1 指定日志文件的目录   fname
             
                //2 定义文件信息对象
                FileInfo finfo = new FileInfo(fname);
                /////判断文件是否存在以及是否大于2M
                //if (finfo.Exists && finfo.Length > 20480)
                //{
                //    fname = fname + DateTime.Now.ToString();
                //}
                //创建只写文件流
                using (FileStream fs = finfo.OpenWrite())
                {
                    //根据上面创建的文件流创建写数据流
                    StreamWriter w = new StreamWriter(fs);
                    //设置写数据流的起始位置为文件流的末尾
                    w.BaseStream.Seek(0, SeekOrigin.End);
                   
                    //写入当前系统时间
                    w.Write("--{0} {1} ", DateTime.Now.ToLongTimeString(),DateTime.Now.ToLongDateString());
                    //写入日志内容
                    w.Write(input);
                    //并换行
                    w.WriteLine("\r\n");
                    //清空缓冲区内容,并把缓冲区内容写入基础流
                    w.Flush();
                    //关闭写数据流
                    w.Close();
                }
            }
        }
     
    //配置文件里的节点:<add key="fname" value="D:\\VSTest\\sjdb\\logfile.txt"/>
  • 相关阅读:
    2020.04.11【NOIP普及组】模拟赛C组25总结
    【华为云技术分享】云图说 | 容器交付流水线ContainerOps,提升持续交付效率
    【USACO 2020 January Silver】Wormhole Sort 题解
    【华为云技术分享】计算python程序执行时间
    HTAP会成为数据库的未来吗?
    【华为云技术分享】现代富文本编辑器Quill的模块化机制
    Cow Evolution 题解
    【USACO 2020 January Silver】Loan Repayment
    VS2012 黑色护眼主题
    常用的正则表达式
  • 原文地址:https://www.cnblogs.com/puzi0315/p/2628968.html
Copyright © 2011-2022 走看看