using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ErrorLogApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine( string.Format("{0:yyyy-MM-dd}",DateTime.Now));
DateTime dt = DateTime.Now;
ErrorLog("ErrorLogTime" + string.Format("{0:yyyy-MM-dd}", DateTime.Now) + ".txt", "【" + string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now) + "】Error:");
Console.ReadKey();
}
private static void ErrorLog(string FileName, string FileContent)
{
try
{
string strPath = System.IO.Directory.GetCurrentDirectory() + "\\log";
if (!Directory.Exists(strPath))
{
// Create the directory it does not exist.
Directory.CreateDirectory(strPath);
}
if (FileName.IndexOf("/") != -1)
{
FileName = FileName.Replace("/", "-");
}
string strLogName = strPath + "\\" + FileName;
StreamWriter TextFile = File.AppendText(strLogName);
TextFile.WriteLine(FileContent);
TextFile.Close();
}
catch (Exception e)
{
//多线程操作时,可能会提示另一个线程正在使用的异常
Console.WriteLine(e.ToString());
}
}
}
}
对错误日志的大小进行限制:
/// <summary>
/// record the error log
/// </summary>
/// <param name="FileName">file name of log</param>
/// <param name="FileContent">error information</param>
private static void ErrorLog(string FileName, string FileContent)
{
try
{
string strPath = System.IO.Directory.GetCurrentDirectory() + "\\log";
if (!Directory.Exists(strPath))
{
// Create the directory it does not exist.
Directory.CreateDirectory(strPath);
}
if (FileName.IndexOf("/") != -1)
{
FileName = FileName.Replace("/", "-");
}
string strLogName = strPath + "\\" + FileName;
FileInfo LogFile = new FileInfo(strLogName);
StreamWriter TextFile = LogFile.AppendText();
//如果日志文件大于5M
if (LogFile.Length < 5000000)
{
TextFile.WriteLine(FileContent);
}
TextFile.Close();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
本文介绍了一个使用C#实现的简单错误日志记录程序,该程序能够在应用程序中记录错误信息到指定目录下的文本文件中,并对日志文件的大小进行了限制。
895

被折叠的 条评论
为什么被折叠?



