系统管理的日志记录怎么实现、还要插入数据库中要记录用户的登陆情况还要求用户的一些其他操作都记录,生成
系统管理的日志记录怎么实现、还要插入数据库中
要记录用户的登陆情况
还要求用户的一些其他操作都记录,生成日志
还可以对日志删除
求大神指教。主要是怎么生成日志的
[解决办法]
首先你要实现这些界面。并且GridView要绑定一个内存中的数据列表 List<SysLog>。
public class SysLog
{
public string 用户{get;set;}
public string 事件{get;set;}
public string 描述{get;set;}
public DateTime 时间{get;set;}
public List<SysLog> GetTestDatas =
new List<SysLog>{
new SysLog{用户="系统管理员",事件="添加",描述="a",时间=new DateTime(2008,1,15,8,52,25)},
new SysLog{用户="系统管理员",事件="删除",描述="a",时间=new DateTime(2008,1,15,8,52,33)}};
}
当你写一个程序时,不要扯什么数据库。使用这样的内存中的 TestDatas 数据集合,实现它的“查询、删除、修改”等操作,先把你的程序面向用户的部分写好,尽早问你的用户(可能是你的公司领导)“这是不是你要的?”,尽早修改你的设计。
许多学生没有学过程序设计,于是就满脑子都是数据库操作,好像除了这一点东西别的都不会。其实想写好程序,你首先不要把你的时间都耗费在没有什么技术含量的数据库表创建上,而是先要使用“打桩测试”将你的程序本身设计出来。不到最后时刻,不需要考虑数据库问题。
[解决办法]public static List<SysLog> GetTestDatas
或者更好地,把这个测试数据集合放到单独的一个类型中,或者你的页面中。如果你有BLL类,那么BLL类按照正常的接口来实现,而BLL服务功能从测试数据进行“增删改查”(而不需要确定使用哪一种数据库)。
[解决办法]string path = Server.MapPath("~/Error/");
if (Directory.Exists(path) == false)
{
Directory.CreateDirectory(path);
}
string filename = DateTime.Now.ToString("yyyyMMdd") + ".txt";
System.IO.FileInfo file = new FileInfo(path + "/" + filename);
System.IO.StreamWriter writer = null;
writer = new StreamWriter(file.FullName, true);//文件不在则创建,true表示追加
writer.WriteLine(DateTime.Now.ToString());
writer.WriteLine("用户IP:" + Request.UserHostAddress);
writer.WriteLine("年报表查询");
writer.WriteLine(err.ToString());
writer.WriteLine("-------------------------------------------------------");
writer.Close();
把日志以txt格式记录