我正在创建将在IIS中托管的Web应用程序,我计划接受很多短时间连接。现在我正在进行错误记录,事实证明它并不清楚如何做到这一点。
例如,我的后端sql server崩溃,1000个客户端每10分钟尝试从服务器获取响应,将在1小时内在服务器60000事件的事件日志中泛滥。任何人都可以分享他如何不在服务器上泛滥事件日志的经验吗?
代码接近于此:
RequestHandler:
try {
SqlConnection con = new SqlConnection(...);
cmd.CommandText = "SELECT TOP FROM Foo WHERE Bar = `"Some`"";
con.Open();
cmd.Connection = con;
// convert data to instance
}
catch (SqlException ex)
{
Logger.WriteErrorEvent(ex)
}
// convert instance to response and send it back.
谢谢, Jenia。
答案 0 :(得分:0)
您需要创建一个文件并将所有错误写入该文件,而不是记录到事件日志。类似于以下方法,您可以在遇到任何异常时调用此方法。
public static void SaveLog(string exc)
{
FileStream objFS = null;
string strFilePath = "Exception.log";
if (!File.Exists(strFilePath))
{
objFS = new FileStream(strFilePath, FileMode.Create);
}
else
objFS = new FileStream(strFilePath, FileMode.Append);
using (StreamWriter Sr = new StreamWriter(objFS))
{
Sr.WriteLine(System.DateTime.Now.ToShortTimeString() + "---" + exc);
}
}
答案 1 :(得分:0)
与另一篇文章一样 - 最好的解决方案是使用您自己的文件进行日志记录。我建议使用log4net。这需要一段时间才能开始,但是一旦你学会了它,你会发现它是多么有用。它允许您设置不同的日志记录级别,这样您就可以只记录当时需要的信息并动态更改。