我们如何记录asp.net应用程序的用户操作。那么保存日志数据的方法是什么?请指导。
答案 0 :(得分:2)
我建议使用log4net或NLog等日志框架。这些框架允许您登录到许多目的地,更重要的是,它们允许您在完成应用程序后做出决定,即您可以配置日志消息的写入位置。
我个人会在网络应用程序的情况下登录数据库。
答案 1 :(得分:1)
或者,您可以使用Common Logging基础设施来隐藏实现并随意在记录器之间切换 http://netcommon.sourceforge.net
存储日志记录的位置很大程度上取决于您将如何使用日志记录数据(即读取和解释日志记录数据,如果需要,请执行操作)。如果分析日志记录数据的人员可以访问计算机并且它不是关键业务,那么只需登录到文件即可。如果机器对您的业务至关重要,您可能拥有某种监控软件并将日志记录发布到事件日志或WMI变得有趣。
如果您登录到文件,请考虑您需要多长时间记录数据以及一次需要多少记录数据。您可以使用滚动日志文件来确保它们不会变得非常大并占用一半的硬盘空间。您还可以使用过滤器或优先级在没有任何错误时仅记录错误,并在调查问题时打开过滤器以进行调试或详细。
IIRC log4net和/或企业库可以记录到WCF服务跟踪查看器可读的格式,请参阅http://msdn.microsoft.com/en-us/library/ms732023.aspx(但我不确定那个)。但是Log4net有一个仪表板。
答案 2 :(得分:1)
有两种方法:将日志详细信息保存到数据库中或创建简单的文本文件,以便跟踪事件。
在这里,我只提供了一些简单的代码,用于跟踪事件并维护日志详细信息并将日志详细信息保存到文本文件中。它可以帮助您解决问题。
首先,您必须导入名称空间:
using System.IO;
我创建了一个小函数来跟踪日志详细信息 -
public void LogEntry(string msg, string path)
{
try
{
//It will open the file, append the your message and close the file
File.AppendAllText(path,msg);
}
catch (Exception ex)
{
ex.GetBaseException();
}
}
在此功能中,您必须传递两个参数
例如
string logmsg;
logmsg = "** " + DateTime.Now.ToString() + "||" + "User:" + UserName + "||" + " EventDesc: Login Attempt Failed";
l1.LogEntry(logmsg, Server.MapPath("LoginEvent.txt"));
这里LoginEvnet.txt是我存储日志详细信息的文本文件的名称。
logmsg - 您必须在日志文件中跟踪或存储的消息