C# 服务器端错误日志记录

C# 服务器端错误日志记录,c#,wcf,iis,logging,error-handling,C#,Wcf,Iis,Logging,Error Handling,我正在创建web应用程序,它将在IIS中托管,我计划接受许多短时间连接。现在我正在做错误日志记录,结果发现如何做还不太清楚 例如,我的后端sql server宕机,每10分钟尝试从服务器获取响应的1000个客户端将在1小时内大量出现在服务器60000个事件的事件日志中。任何人都可以分享他在如何避免服务器上的事件日志泛滥方面的经验吗 代码与此非常接近: 请求处理程序: try { SqlConnection con = new SqlConnection(...); cmd.Com

我正在创建web应用程序,它将在IIS中托管,我计划接受许多短时间连接。现在我正在做错误日志记录,结果发现如何做还不太清楚

例如,我的后端sql server宕机,每10分钟尝试从服务器获取响应的1000个客户端将在1小时内大量出现在服务器60000个事件的事件日志中。任何人都可以分享他在如何避免服务器上的事件日志泛滥方面的经验吗

代码与此非常接近:

请求处理程序:

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。

您需要创建一个文件并将所有错误写入该文件,而不是记录到事件日志。类似于下面的方法,您可以在遇到任何异常时调用此方法

    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);
                }


    }

在另一篇文章中,最好的解决方案是使用您自己的文件进行日志记录。我建议用这个。这需要一段时间才能开始,但一旦你学会了,你就会发现它是多么有用。它将允许您设置不同的日志记录级别,这样您就可以只记录您当时需要的信息,并随时更改这些信息。

您可以显示您的代码吗?重写HTTP服务器=重写IIS?很抱歉造成混淆,我正在创建IIS web应用程序。