打log功能。
发布网友
发布时间:2022-05-02 23:03
我来回答
共2个回答
热心网友
时间:2022-06-28 03:31
一般用log4net.dll。这个比较用得广泛,不过以前我自己也写了一个日志的类,现在你参考下using System;
这个类的功能很简单,就是每应用程序重启会写个日期标题,然后每个日志前面有日期,然后每三条日志就分行!还有自己必须控制文件名,我得文件名控制是在外面,就每月一个日志文件!一年有12个日志文件,这个在外面控制!
using System.Collections.Generic;
using System.Text;
namespace LogFile
{
public class LogFileClass
{
System.IO.StreamWriter objread = null;
string name = "";
private static int num = 0;
public LogFileClass(string filename)
{
name = filename;
AddHead();
}
public void AddLog(string desc)
{
if (OpenFile())
{
try
{
if (num == 3)
{
objread.WriteLine("\n");
num = 0;
}
objread.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss: ") + desc);
num = num + 1;
}
catch
{
}
finally
{
objread.Close();
objread = null;
}
}
}
private void AddHead()
{
if (OpenFile())
{
try
{
objread.WriteLine("\n");
objread.WriteLine(DateTime.Now.ToString("--------------------------------" + "yyyy-MM-dd HH:mm:ss" + "------------------------------------"));
}
catch
{ }
finally
{
objread.Close();
objread = null;
}
}
}
private bool OpenFile()
{
try
{
objread = new System.IO.StreamWriter(name, true);
return true;
}
catch
{
return false;
}
}
}
}
提供能实现这个功能的.net下的功能类
回答:没有!有就不会有log4net.dll这个组件这么广泛的使用了!
热心网友
时间:2022-06-28 03:31
using System.IO;//导入这个文件操作包
FileStream fs = new FileStream("c:\\1.log", FileMode.Append, FileAccess.Write, 512);
//实例化一个文本流,就是构造路径、读写方式等!
StreamWriter sw = new StreamWriter(fs);
//实例化一个文件流写入对象
sw.Write(ee.Message+DateTime.Now.ToString()+"\r\n");//ee.Message此处假设为错误信息
//写出文件到缓冲区
sw.Flush();
//把缓冲区的数据写入文件
sw.Close();
//关闭文件流写入对象
fs.Close();
//关闭文件流对象
用到的类有:
FileStream --->文件流类
StreamWriter --->文件流写出类
直接和读写文本文件一样操作!