zoukankan      html  css  js  c++  java
  • 读写文件之日志文件

    我们在写软件的时候,经常要记录一些登陆信息、删除信息之类,便于日后查询。我简单写了一个针对日志文件的类,可以通过此类可以自定义日志文件名称,当日志达到规定大小时,自动备份,路径可以自行定义具体如下:
    命名空间:

    using System;
    using System.Web;
    using System.IO;
    using System.Text;


    具体实现:
    public class LogFile
     {
      protected string LogfileName; // 文件名称
      protected string LogPath = "../upedFile"; // 文件路径
      protected int LogMaxContent = 2048; // 文件大小
      protected string InputContent;  // 具体内容

      public LogFile()
      {

      }

      public LogFile(string StrLogfileName,string StrInputContent,string StrLogPath)
      {
       LogfileName  = StrLogfileName;
       InputContent = StrInputContent; 
       LogPath = StrLogPath;

      }

      public  void LogWrite()
      {
       // string PathName = System.Web.HttpContext.Current.Server.MapPath(LogPath) + LogfileName;
       string PathName = System.Web.HttpContext.Current.Server.MapPath(LogPath) + "\\" + LogfileName;
       FileInfo Finfo = new FileInfo(PathName);

       string PathNameMove = PathName.Substring(0,PathName.LastIndexOf("\\"))+"\\" + DateTime.Now.ToString("yyyyMMddhhmm") + LogfileName;
          
       if( Finfo.Exists && Finfo.Length > LogMaxContent ) // 如果超出,重名名
       {
        Finfo.CopyTo(PathNameMove);
        Finfo.Delete();
       }

       try
       {
        using(FileStream Fs = Finfo.OpenWrite())
        {
         StreamWriter Sw = new StreamWriter(Fs);
        
         Sw.BaseStream.Seek(0, SeekOrigin.End); //设置写数据流的起始位置为文件流的末尾
        
         StringBuilder StrInput = new StringBuilder(); // 记录写入的内容
         StrInput.Append("\r\n Log Entry : ");
         StrInput.Append(DateTime.Now.ToString());
         StrInput.Append("\r\n");
         StrInput.Append(InputContent + "\r\n");
         StrInput.Append("------------------------------------\n");

         Sw.Write(StrInput);    
         Sw.Flush();    
         Sw.Close();
        }
       }
       catch
       {
        System.Web.HttpContext.Current.Response.Write("<script language=javascript>alert('日志创建失败')</script>");
       }

      }

  • 相关阅读:
    前端与算法 leetcode 344. 反转字符串
    JavaScript闭包使用姿势指南
    前端与算法 leetcode 48. 旋转图像
    前端与算法 leetcode 36. 有效的数独
    前端与算法 leetcode 1. 两数之和
    前端与算法 leetcode 283. 移动零
    前端与编译原理 用js去运行js代码 js2run
    前端与算法 leetcode 66. 加一
    前端与算法 leetcode 350. 两个数组的交集 II
    前端与算法 leetcode 26. 删除排序数组中的重复项
  • 原文地址:https://www.cnblogs.com/skylaugh/p/352342.html
Copyright © 2011-2022 走看看