一个简单实用的C#日志类(第一版)
2009-04-25 11:28
483 查看
不管是Web应用还是Windows Forms 应用,系统日志我们都经常用到。日志可以帮助我们跟踪监视系统的运行状况,及时发现错误,输出调式信息等。记录日志的方法很多,比如用文本文件、XML文件、数据库等。而用文本文件记录日志是最常用的方法之一。
这里就是一个用文本文件记录日志的简单实用的日志类,它有如下几个特点:
1)按日期每天生产不同日志文件,方便按照日期来查找日志。
2)按日志类型生产不同的文件,比如 跟踪信息、警告信息、错误信息用不同的日志文件来记录;方便我们查找指定类型的日志。
3)可以指定保持日志文件文件夹,如果不指定日志文件夹,Web应用保存到Bin文件夹,Windows Forms应用保存到.EXE文件所在的文件夹。
4)可以指定日志文件的前缀。
public class LogManager
{
private static string logPath = string.Empty;
/// <summary>
/// 保存日志的文件夹
/// </summary>
public static 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;}
}
private static string logFielPrefix = string.Empty;
/// <summary>
/// 日志文件前缀
/// </summary>
public static string LogFielPrefix
{
get { return logFielPrefix; }
set { logFielPrefix = value; }
}
/// <summary>
/// 写日志
/// </summary>
public static 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>
public static 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.");
这里就是一个用文本文件记录日志的简单实用的日志类,它有如下几个特点:
1)按日期每天生产不同日志文件,方便按照日期来查找日志。
2)按日志类型生产不同的文件,比如 跟踪信息、警告信息、错误信息用不同的日志文件来记录;方便我们查找指定类型的日志。
3)可以指定保持日志文件文件夹,如果不指定日志文件夹,Web应用保存到Bin文件夹,Windows Forms应用保存到.EXE文件所在的文件夹。
4)可以指定日志文件的前缀。
public class LogManager
{
private static string logPath = string.Empty;
/// <summary>
/// 保存日志的文件夹
/// </summary>
public static 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;}
}
private static string logFielPrefix = string.Empty;
/// <summary>
/// 日志文件前缀
/// </summary>
public static string LogFielPrefix
{
get { return logFielPrefix; }
set { logFielPrefix = value; }
}
/// <summary>
/// 写日志
/// </summary>
public static 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>
public static 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#日志类
- C#实现一个简单实用的TXT文本操作及日志框架详解
- 一个简单实用的C#日志类
- 一个简单实用的C#日志类(第二版)
- C#实现的简单实用日志
- 开源一个C#写的小爬虫,简单实用
- 关于使用C#编写一个简单的日志类
- 一个简单的 C# 异步日志记录器
- C#-一个简单实用的字符串加密解密类
- LogCook 一个简单实用的Android日志管理工具
- 一个简单实用的sql数据库查询工具(c#)
- 基于C#中的Trace实现一个简单的日志系统
- 一个简单的C#文件日志组件
- 一个简单实用的“数据库访问层”!(基于C#语言)
- c# 一个记录日志的通用方法
- 一个自定义Collection类的实现(C#) 第一篇工作日志
- 在网上发现了一个实用的获取ID的js,虽然简单.但我认为不错
- 一个简单的AJAX实现,基于C#的ASP.Net,包括服务器端的程序代码
- C#中委托和事件的一个简单实例
- 分享一个C#编写简单的聊天程序(详细介绍)