c# 日志类
来源:互联网 发布:发票验旧需要什么数据 编辑:程序博客网 时间:2024/06/15 22:26
using System;
using System.IO;
namespace LOG
{
/// <summary>
/// 日志类
/// </summary>
///
public class LogInfo
{
/// <summary>
/// 日志文件大小
/// </summary>
private int fileSize;
/// <summary>
/// 日志文件的路径
/// </summary>
private string fileLogPath;
/// <summary>
/// 日志文件的名称
/// </summary>
private string logFileName;
/// <summary>
/// 构造函数,初始化日志文件大小[2M]
/// 可以使用相关属性对其进行更改.
/// </summary>
public LogInfo()
{
//初始化大于2M日志文件将自动删除;
this.fileSize = 2048 * 1024;//2M
//默认路径
this.fileLogPath = @"c:\logFils\";
this.logFileName = "日志.txt";
}
/// <summary>
/// 获取或设置定义日志文件大小
/// </summary>
public int FileSize
{
set
{
fileSize = value;
}
get
{
return fileSize;
}
}
/// <summary>
/// 获取或设置日志文件的路径
/// </summary>
public string FileLogPath
{
set
{
this.fileLogPath = value;
}
get
{
return this.fileLogPath;
}
}
/// <summary>
/// 获取或设置日志文件的名称
/// </summary>
public string LogFileName
{
set
{
this.logFileName = value;
}
get
{
return this.logFileName;
}
}
/// <summary>
/// 向指定目录中的指定的文件中追加日志文件
/// </summary>
/// <param name="Message">要写入的内容</param>
public void WriteLog(string Message)
{
this.WriteLog(this.logFileName, Message);
}
/// <summary>
/// 向指定目录中的文件中追加日志文件,日志文件的名称将由传递的参数决定.
/// </summary>
/// <param name="LogFileName">日志文件的名称,如:mylog.txt ,如果没有自动创建,如果存在将追加写入日志</param>
/// <param name="Message">要写入的内容</param>
public void WriteLog(string LogFileName, string Message)
{
//DirectoryInfo path=new DirectoryInfo(LogFileName);
//如果日志文件目录不存在,则创建
if (!Directory.Exists(this.fileLogPath))
{
Directory.CreateDirectory(this.fileLogPath);
}
FileInfo finfo = new FileInfo(this.fileLogPath + LogFileName);
if (finfo.Exists && finfo.Length > fileSize)
{
finfo.Delete();
}
try
{
FileStream fs = new FileStream(this.fileLogPath + LogFileName, FileMode.Append);
StreamWriter strwriter = new StreamWriter(fs);
try
{
DateTime d = DateTime.Now;
strwriter.WriteLine("时间:" + d.ToString());
strwriter.WriteLine(Message);
strwriter.WriteLine();
strwriter.Flush();
}
catch (Exception ee)
{
Console.WriteLine("日志文件写入失败信息:" + ee.ToString());
}
finally
{
strwriter.Close();
strwriter = null;
fs.Close();
fs = null;
}
}
catch (Exception ee)
{
Console.WriteLine("日志文件没有打开,详细信息如下:", ee.Message);
}
}
}
/// <summary>
/// 静态日志类
/// </summary>
///
public class Static_LogInfo
{
/// <summary>
/// 日志文件大小
/// </summary>
private static int fileSize = 2048 * 1024;//2M
/// <summary>
/// 日志文件的路径
/// </summary>
private static string fileLogPath = @"c:\logFils\";
/// <summary>
/// 日志文件的名称
/// </summary>
private static string logFileName = "日志.txt";
/// <summary>
/// 获取或设置定义日志文件大小
/// </summary>
public static int FileSize
{
set
{
fileSize = value;
}
get
{
return fileSize;
}
}
/// <summary>
/// 获取或设置日志文件的路径
/// </summary>
public static string FileLogPath
{
set
{
fileLogPath = value;
}
get
{
return fileLogPath;
}
}
/// <summary>
/// 获取或设置日志文件的名称
/// </summary>
public static string LogFileName
{
set
{
logFileName = value;
}
get
{
return logFileName;
}
}
/// <summary>
/// 向指定目录中的指定的文件中追加日志文件
/// </summary>
/// <param name="Message">要写入的内容</param>
public static void WriteLog(string Message)
{
WriteLog(logFileName, Message);
}
/// <summary>
/// 向指定目录中的文件中追加日志文件,日志文件的名称将由传递的参数决定.
/// </summary>
/// <param name="LogFileName">日志文件的名称,如:mylog.txt ,如果没有自动创建,如果存在将追加写入日志</param>
/// <param name="Message">要写入的内容</param>
public static void WriteLog(string LogFileName, string Message)
{
//DirectoryInfo path=new DirectoryInfo(LogFileName);
//如果日志文件目录不存在,则创建
if (!Directory.Exists(fileLogPath))
{
Directory.CreateDirectory(fileLogPath);
}
FileInfo finfo = new FileInfo(fileLogPath + LogFileName);
if (finfo.Exists && finfo.Length > fileSize)
{
finfo.Delete();
}
try
{
FileStream fs = new FileStream(fileLogPath + LogFileName, FileMode.Append);
StreamWriter strwriter = new StreamWriter(fs);
try
{
DateTime d = DateTime.Now;
strwriter.WriteLine("时间:" + d.ToString());
strwriter.WriteLine(Message);
strwriter.WriteLine();
strwriter.Flush();
}
catch (Exception ee)
{
Console.WriteLine("日志文件写入失败信息:" + ee.ToString());
}
finally
{
strwriter.Close();
strwriter = null;
fs.Close();
fs = null;
}
}
catch (Exception ee)
{
Console.WriteLine("日志文件没有打开,详细信息如下:", ee.Message);
}
}
}
}
注:
1、程序模块少的话,并且日志比较少的时候,用一个日志文件就搞定了,在文件大小达到一定的容量的时候可以删除掉,下次重新创建日志文件
2、程序模块多的时候,并且日志比较的时候,日志文件可以选择按模块来,每个模块再按天来,到规定期限的天数再把日志文件删除掉,下次重新创建日志文件
- C#写日志类
- c# 日志异常类
- c# 日志异常类
- c# 日志异常类
- C# 日志类
- C# 日志服务类
- C#中的日志类
- C#日志类
- C# 系统 日志类
- C# 日志类
- c# 日志类
- C#小型日志类
- C#文本日志类
- C# 日志操作类
- c#增加日志类
- C# 简易异步日志类
- C#日志类,文件操作
- c# 日志
- iOS GET请求对请求参数过滤
- Epub电子书格式(三)
- 【练习】P62页3.2题
- 开张大吉
- JAVA中的for循环
- c# 日志类
- php源码--更正系统显示时间
- android 中的进程
- Epub电子书格式(四)
- Effective 学习之以独立语句将newed对象置入智能指针
- android学习日志03__ApiDemos学习方法
- Python学习笔记4-开发环境
- VC中调用外部EXE程序方法
- php源码--简单添加数据