C#日志类,实用.net日志操作类

C#日志类,实用.net日志操作类

 

不管是Web应用还是Windows Forms 应用,系统日志我们都经常用到。日志可以帮助我们跟踪监视系统的运行状况,及时发现错误,输出调式信息等。记录日志的方法很多,比如用文本文件、XML文件、数据库等。而用文本文件记录日志是最常用的方法之一。

这里就是一个用文本文件记录日志的简单实用的日志类,它有如下几个特点:

 

1)按日期每天生产不同日志文件,方便按照日期来查找日志。

 

2)按日志类型生产不同的文件,比如跟踪信息、警告信息、错误信息用不同的日志文件来记录;方便我们查找指定类型的日志。

 

3)可以指定保持日志文件文件夹,如果不指定日志文件夹,Web应用保持到Bin文件夹,Windows Forms应用保持到.EXE文件所在的文件夹。

 

4)可以指定日志文件的前缀。

 

public class LogManager

{

    private static string logPath = string.Empty;

    ///<summary>

    /// 保存日志的文件夹

    ///</summary>

    publicstatic string LogPath

    {

        get

        {

           if (logPath == string.Empty)

            {

               if (System.Web.HttpContext.Current == null)

                   // Windows Forms 应用

                   logPath = AppDomain.CurrentDomain.BaseDirectory;

               else

                   // Web 应用

                   logPath = AppDomain.CurrentDomain.BaseDirectory + @"bin\";

            }

           return logPath;

        }

        set{logPath = value;}

    }

 

    privatestatic string logFielPrefix = string.Empty;

    ///<summary>

    /// 日志文件前缀

    ///</summary>

    publicstatic string LogFielPrefix

    {

        get {return logFielPrefix; }

        set {logFielPrefix = value; }

    }

 

    ///<summary>

    /// 写日志

    ///</summary>

    publicstatic void WriteLog(string logFile, string msg)

    {

        try

        {

           System.IO.StreamWriter sw = System.IO.File.AppendText(

               LogPath + LogFielPrefix + logFile + " " +

               DateTime.Now.ToString("yyyyMMdd") + ".Log"

               );

           sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss: ") +msg);

           sw.Close();

        }

        catch

        { }

    }

 

    ///<summary>

    /// 写日志

    ///</summary>

    publicstatic void WriteLog(LogFile logFile, string msg)

    {

       WriteLog(logFile.ToString(), msg);

    }

}

 

/// <summary>

/// 日志类型

/// </summary>

public enum LogFile

{

    Trace,

    Warning,

    Error,

    SQL

}

使用方法: 

LogManager.LogFielPrefix = "ERP ";

 LogManager.LogPath = @"C:\"; 

LogManager.WriteLog(LogFile.Trace, "A test Msg."); 

 



 

 

 

 

 

 

 

 

 

 

· c# 读写文本文件,二进制文件

2008-03-25

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://q-hj.blogbus.com/logs/42336562.html

C# 操作文件

版权所有 : 天山寒雪 QQ:757015000 MSN: haijun.qin@hotmail.com

        }
       /// <summary>
       /// 读取二进制文件
       /// </summary>
       /// <param name="filename"></param>
       private void ReadBinaryFiles(string filename)
        {
           FileStream filesstream = new FileStream(filename, FileMode.Create);
           BinaryWriter objBinaryWriter = new BinaryWriter(filesstream);
           for (int index = 0; index < 20; index++)
           {
               objBinaryWriter.Write((int)index);
           }
           objBinaryWriter.Close();
           filesstream.Close();
        }
       /// <summary>
       /// 写入二进制文件
       /// </summary>
       /// <param name="filepath"></param>
       private void WriteBinaryFiles(string filepath)
        {
           if (!File.Exists(filepath))
           {
               //文件不存在
           }
           else
           {
               FileStream filestream = new FileStream(filepath, FileMode.Open,FileAccess.Read);
               BinaryReader objBinaryReader = new BinaryReader(filestream);
               try
               {
                   while (true)
                   {
                       //objBinaryReader.ReadInt32();
                   }
               }
               catch (Exception ex)
               {
                   //已到文件结尾
               }
           }
        }

File 类:
Create(string FilePath)
在指定路径下创建具有指定名称的文件。此方法返回一个FileStream 对象
OpenRead(string FilePath)
打开一个现有文件来读取数据
AppendText(string FilePah)
允许向文本添加文本
Copy(string SourceFilePath,stringDestinationPath)
按指定的路径将源文件的内容复制到目标文件中。如果目标不存在,则在指定的路径中以指定的名称新建一个文件
Delete(string filePath)
删除指定路径的文件
Exists(string filePath)
验证指定路径是否存在具有指定名称的文件。该方法返回一个布尔值

///<summary>
       /// 写入文件
       /// </summary>
       /// <param name="filename"></param>
       /// <param name="filecontent"></param>
       private void SaveFiles(string filename,string filecontent)
        {
           FileStream fs;
           try
           {
               fs = File.Create(filename);
           }
           catch (Exception ex)
           {
               throw ex;
           }
           byte[] content = new UTF8Encoding(true).GetBytes(filecontent);
           try
           {
               fs.Write(content, 0, content.Length);
               fs.Flush();
           }
           catch (Exception ex)
           {
               throw ex;
           }
           finally
           {
               fs.Close();
           }
        }
       /// <summary>
       /// 保存文件
       /// </summary>
       /// <param name="path"></param>
       private void ReadFiles(string path)
        {
           try
           {
               if (!File.Exists(path))
               {
                   //文件不存在
               }
               else
               {
                   //打开流读取
                   FileStream fs = File.OpenRead(path);
                   //创建一个byte 数组以读取数据
                   byte[] arr = new byte[100];
                   UTF8Encoding data = new UTF8Encoding(true);
                   //继续读完文件的所有数据
                   while (fs.Read(arr, 0, arr.Length) > 0)
                   {
                       //data.GetString(arr);
                   }
               }
           }
           catch (Exception ex)
           {
               throw ex;
           }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值