C#日志类,实用.net日志操作类
不管是Web应用还是Windows Forms 应用,系统日志我们都经常用到。日志可以帮助我们跟踪监视系统的运行状况,及时发现错误,输出调式信息等。记录日志的方法很多,比如用文本文件、XML文件、数据库等。而用文本文件记录日志是最常用的方法之一。
这里就是一个用文本文件记录日志的简单实用的日志类,它有如下几个特点:
1)按日期每天生产不同日志文件,方便按照日期来查找日志。
2)按日志类型生产不同的文件,比如跟踪信息、警告信息、错误信息用不同的日志文件来记录;方便我们查找指定类型的日志。
3)可以指定保持日志文件文件夹,如果不指定日志文件夹,Web应用保持到Bin文件夹,Windows Forms应用保持到.EXE文件所在的文件夹。
4)可以指定日志文件的前缀。
public class LogManager
{
private static string logPath = string.Empty;
///
/// 保存日志的文件夹
///
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;
///
/// 日志文件前缀
///
publicstatic string LogFielPrefix
{
get {return logFielPrefix; }
set {logFielPrefix = value; }
}
///
/// 写日志
///
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
{ }
}
///
/// 写日志
///
publicstatic void WriteLog(LogFile logFile, string msg)
{
WriteLog(logFile.ToString(), msg);
}
}
///
/// 日志类型
///
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: [email protected]
}
///
/// 读取二进制文件
///
///
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();
}
///
/// 写入二进制文件
///
///
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)
验证指定路径是否存在具有指定名称的文件。该方法返回一个布尔值
///
/// 写入文件
///
///
///
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();
}
}
///
/// 保存文件
///
///
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;
}