【问题标题】:elmah in azure webjobselmah 在 azure webjobs
【发布时间】:2018-09-27 13:23:26
【问题描述】:

有人知道如何在 azure webjob 中设置 elmah 吗?官方网站的帮助部分说它需要几行代码所以这是我所拥有的

static void Main()
{
    AppDomain.CurrentDomain.UnhandledException += Log;
    ...
}

private static void Log(object sender, UnhandledExceptionEventArgs e)
{
    var exception = e.ExceptionObject as Exception;
    if (exception != null)
    {
        var logger = ElmahioAPI.Create("API_KEY");
        logger.Messages.Error(new Guid("LOG_ID"), exception, "An error message");
    }
}

我有一个 api_key 和一个 log_id 但没有记录任何内容。我在 web 应用程序中设置了 elmah,我必须在 web.config 中输入详细信息,这非常有效(登录到 sql server)。官方帮助没有提及 app.config 中的任何设置,那么它到底是如何知道在哪里记录信息的呢?他们似乎也改变了它,这样你就可以从他们的网站上阅读日志,但这是如何设置的呢?非常混乱,谁能帮忙?

【问题讨论】:

  • 您的代码显示了如何安装 elmah.io 而不是 ELMAH。 elmah.io 无法登录到本地 SQL Server。

标签: azure app-config azure-webjobs elmah


【解决方案1】:

我在 web 应用程序中设置了 elmah,我必须在 web.config 中输入详细信息,这非常有效(登录到 sql server)。

您似乎混淆了 EMLAH 和 elmah.io。这里是ELMAh and elmah.io differences

ELMAH: 通过 ELMAH 的称为错误日志的插件模型,可以将错误记录到各种目的地。存在用于 XML、SQL Server、MySQL、Elasticsearch 等的插件。

elmah.io: elmah.io 是一个基于云的错误管理系统,最初是在 ELMAH 之上开发的。

正如您所说,您有一个 API_KEY 和 LOG_ID,那么您可以使用以下代码在 emlah.io 仪表板中写入日志。

[ElmahIoExceptionFilter("API_KEY", "LOG_ID")]

public class Functions
{
    // This function will get triggered/executed when a new message is written 
    // on an Azure Queue called queue.
    public static void Trigger([TimerTrigger("0 */1 * * * *")]TimerInfo myTimer, TextWriter log)
    {
        throw new ApplicationException("Error from webjob");

    }
}

日志截图如下:

有关 Elmah.Io 的相同演示,您可以参考此github

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-07
    相关资源
    最近更新 更多