c# 写入文件日志
2010-03-24 08:45
645 查看
public static void WriteLog(Model.ModelLog ModelLog)
{
DbAcess dba = new DbAcess();
try
{
//string logFileName =Path.GetFullPath("Log/" + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString().ToString() + DateTime.Now.Day.ToString() + ".log");
Random random = new Random();
DataTable dt = GetCodeInfo(dba, "37", "0");
string logFolder = ModelLog.RootPath + dt.Rows[0]["CODE_NAME2"].ToString() + "\\" + FormatDateTime(DateTime.Now, Constant.DATETIME_FORMAT_0005) + "\\" + ModelLog.FormName + "\\" + ModelLog.AppCode + "\\";
string logFileName = logFolder + FormatDateTime(DateTime.Now, Constant.DATETIME_FORMAT_0007) + Convert.ToString(random.Next(100000, 999999)) + ".log";
if (!Directory.Exists(logFolder))
{
Directory.CreateDirectory(logFolder);
}
FileInfo fileinfo = new FileInfo(logFileName);
string logTime = DateTime.Now.Year.ToString() + "/" + PadddingLeft(DateTime.Now.Month.ToString(), "0", 2) + "/" + PadddingLeft(DateTime.Now.Day.ToString(), "0", 2) + " " + PadddingLeft(DateTime.Now.Hour.ToString(), "0", 2) + PadddingLeft(DateTime.Now.Minute.ToString(), "0", 2) + PadddingLeft(DateTime.Now.Second.ToString(), "0", 2);
string levelName = "";
switch (ModelLog.LogLevel)
{
case Constant.LogLevel_INFO:
levelName = "INFO";
break;
case Constant.LogLevel_WARNING:
levelName = "WARNING";
break;
case Constant.LogLevel_ERROR:
levelName = "ERROR";
break;
case Constant.LogLevel_CRITICAL:
levelName = "CRITICAL";
break;
}
if (!fileinfo.Exists)
{
//fileinfo.Create();
FileStream fs = fileinfo.OpenWrite();
StreamWriter sw = new StreamWriter(fs);
try
{
sw.BaseStream.Seek(0, SeekOrigin.End);
sw.WriteLine(logTime + " " + ModelLog.LoginId + " " + ModelLog.UserName + " " + levelName + " " + ModelLog.DepartName + " " + ModelLog.LogContent);
sw.Flush();
sw.Close();
}
catch (Exception ex)
{
sw.Flush();
sw.Close();
throw ex;
}
}
else
{
StreamWriter sw = fileinfo.AppendText();
try
{
sw.BaseStream.Seek(0, SeekOrigin.End);
sw.WriteLine(logTime + " " + ModelLog.LoginId + " " + ModelLog.UserName + " " + levelName + " " + ModelLog.DepartName + " " + ModelLog.LogContent);
sw.Flush();
sw.Close();
}
catch (Exception ex)
{
sw.Flush();
sw.Close();
throw ex;
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
dba.Dispose();
}
}
{
DbAcess dba = new DbAcess();
try
{
//string logFileName =Path.GetFullPath("Log/" + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString().ToString() + DateTime.Now.Day.ToString() + ".log");
Random random = new Random();
DataTable dt = GetCodeInfo(dba, "37", "0");
string logFolder = ModelLog.RootPath + dt.Rows[0]["CODE_NAME2"].ToString() + "\\" + FormatDateTime(DateTime.Now, Constant.DATETIME_FORMAT_0005) + "\\" + ModelLog.FormName + "\\" + ModelLog.AppCode + "\\";
string logFileName = logFolder + FormatDateTime(DateTime.Now, Constant.DATETIME_FORMAT_0007) + Convert.ToString(random.Next(100000, 999999)) + ".log";
if (!Directory.Exists(logFolder))
{
Directory.CreateDirectory(logFolder);
}
FileInfo fileinfo = new FileInfo(logFileName);
string logTime = DateTime.Now.Year.ToString() + "/" + PadddingLeft(DateTime.Now.Month.ToString(), "0", 2) + "/" + PadddingLeft(DateTime.Now.Day.ToString(), "0", 2) + " " + PadddingLeft(DateTime.Now.Hour.ToString(), "0", 2) + PadddingLeft(DateTime.Now.Minute.ToString(), "0", 2) + PadddingLeft(DateTime.Now.Second.ToString(), "0", 2);
string levelName = "";
switch (ModelLog.LogLevel)
{
case Constant.LogLevel_INFO:
levelName = "INFO";
break;
case Constant.LogLevel_WARNING:
levelName = "WARNING";
break;
case Constant.LogLevel_ERROR:
levelName = "ERROR";
break;
case Constant.LogLevel_CRITICAL:
levelName = "CRITICAL";
break;
}
if (!fileinfo.Exists)
{
//fileinfo.Create();
FileStream fs = fileinfo.OpenWrite();
StreamWriter sw = new StreamWriter(fs);
try
{
sw.BaseStream.Seek(0, SeekOrigin.End);
sw.WriteLine(logTime + " " + ModelLog.LoginId + " " + ModelLog.UserName + " " + levelName + " " + ModelLog.DepartName + " " + ModelLog.LogContent);
sw.Flush();
sw.Close();
}
catch (Exception ex)
{
sw.Flush();
sw.Close();
throw ex;
}
}
else
{
StreamWriter sw = fileinfo.AppendText();
try
{
sw.BaseStream.Seek(0, SeekOrigin.End);
sw.WriteLine(logTime + " " + ModelLog.LoginId + " " + ModelLog.UserName + " " + levelName + " " + ModelLog.DepartName + " " + ModelLog.LogContent);
sw.Flush();
sw.Close();
}
catch (Exception ex)
{
sw.Flush();
sw.Close();
throw ex;
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
dba.Dispose();
}
}
相关文章推荐
- C# 文件操作(读取文本/日志文件,读取文件列表,创建HTML,写入日志文件)
- c#扩展SPRING,配置里有不存在的业务系统xml导致不能启动问题,把配置文件里有重复的服务ID找出来并写入到日志
- C# 程序出现错误或异常,将异常信息写入指定日志文件
- C#写入日志信息到文件中
- 装饰者模式的学习(c#) EF SaveChanges() 报错(转载) C# 四舍五入 保留两位小数(转载) DataGridView样式生成器使用说明 MSSQL如何将查询结果拼接成字符串 快递查询 C# 通过smtp直接发送邮件 C# 带参访问接口,WebClient方式 C# 发送手机短信 文件 日志 写入 与读取
- Log4net按照不同级别写入多个日志文件
- 通过配置logback将不同的日志写入不同的日志文件中
- C#WinCE 记录日志文件
- c# 将日志文件显示在RichTextBox控件里 分类: .NET 2012-12-18 15:54 722人阅读 评论(0) 收藏
- c#的文件读取和写入方法类
- c#的文件读取和写入方法类
- C#中日志文件的生成
- log4net在release模式下无法生成文件或不写入日志
- Python游戏开发-02-生成日志写入文件
- C#向指定路径写入文件
- 【C#】打开文件并写入内容
- C#文件写入和读取简单使用
- 日志文件的写入以及文件创建
- C# 下载文件 删除文件 写入文本的实例
- log4cplus库:将日志写入到文件