xie wen ben ri zhi
2006-10-18 09:52
148 查看
c#写文本日志
using System;
using System.Text;
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=@"d:/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.ToString());
}
}
}
}
using System;
using System.Text;
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=@"d:/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.ToString());
}
}
}
}
相关文章推荐
- JongXie OS系统开机画面
- JongXie OS 任务调度的实现
- 发布一套JAVASCRIPT控制的WEBGIS源码http://www.cnblogs.com/huzhiming-2006/archive/2007/04/25/727325.html
- .net 2.0 控件中嵌入资源( 转http://ericwen.cnblogs.com/rss.aspx)
- DELPHI的开源控件集(转自http://xieyunc.blog.163.com/)
- (一)RI架构分析
- 注意,此时必须使用Symbian sign的证书来对该安装包进行sign, self-sign对FR,RI等指令无效.
- It's My Life---------Ben Jovi
- JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI ...解决
- temu zhi 2a文件分析
- 【零基础学会LTE】【6】LTE 36.212 HARQ/RI/CQI信道编码模块
- 聚类评价指标 Rand Index,RI,Recall,Precision,F1
- 软件随想录(local.joelonsoftware.com/wiki)-2000年05月12日 策略书之一: Ben and Jerry模式与Amazon模式 - Strategy Letter I
- cocos2d-x plist+wen使用
- 使--no-ri --no-rdoc成为gem安装的默认选项
- 用EL時(el-api.jar,el-ri.jar ),要設isELIgnored="false"
- Benifits of SOA
- ASE Can't allocate space for object 'syslogs' in database 'WEN' because 'logsegment' segment is full
- [疑似官泄] 某Ri牌示波器固件破解