0

我的一个网页给了我一个:

GET url_plus_query_string_go_here 500 (Internal Server Error)

错误类型。如何设置页面/服务器以便我可以记录这些错误以了解有关它们的更多信息以及它们发生的原因?

4

2 回答 2

1

您可以使用ELMAH轻松记录所有异常。

它向您的 ASP.NET 应用程序添加了一个消息处理程序,该应用程序自动将您的异常记录到数据库中,并提供一个 Web 界面来查看它们。

除了设置数据库和调整 web.config 之外,您无需更改应用程序中的任何内容。特别是,您不必向所有控制器添加 try catch 处理程序。

于 2013-07-02T11:32:24.297 回答
0

您可以创建一个 Log.cs 类并使用 write 方法将异常记录到文本文件中。现在在您的代码中调用此方法(例如在 catch 块中)。使用以下代码创建类 log.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace TestApp
{
public class Log
{
    protected static string GetFileName()
    {
        return "log.txt";
    }

    public Log()
    {

    }

    public static void Write(string message)
    {
        System.IO.File.AppendAllText(GetFullFilePath(), message + Environment.NewLine);
    }



    public static string ReadAll()
    {
        return System.IO.File.ReadAllText(GetFullFilePath());
    }

    private static string GetFullFilePath()
    {
        return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GetFileName());
    }
}
}

现在应用以下代码插入您的异常或您想要在运行时跟踪的任何其他内容。我在这里只展示了 catch 块,但你可以在代码的任何地方使用它。

    catch (Exception ex)
        {
          Log.Write(DateTime.Now + "  " + ex.Message + "  Something relevant string");
        }
于 2013-07-02T12:09:51.860 回答