在Azure中使用事件日志(在事件查看器中写入)

本文关键字:事件 日志 Azure | 更新日期: 2023-09-27 17:54:00

我的网站,用ASP编写。我使用EventLog将日志写入事件查看器。已经在生产环境中运行(操作系统:Windows Server 2012 R2),记录一些错误没有问题。我现在计划将服务器迁移到Azure -应用程序服务。我想知道如果我的代码在记录错误将仍然工作后移动到Azure -应用程序服务?如果是,那么我如何查看我的网站记录的错误??我无法在Azure -应用程序服务中看到事件查看器。如果没有,那么什么是最简单和最快的替代方法来代替我的代码记录错误?

下面是我的代码:
public static void LogEventLog(string message, EventLogEntryType logType)
    {
        string source = AppConfig.ErrorEventViewerSource;
        // Since we can't prevent the app from terminating, log this to the event log. 
        CreateEventSource(source);
        // Create an EventLog instance and assign its source.
        EventLog myLog = new EventLog();
        myLog.Source = source;
        myLog.WriteEntry(message, logType);
    }

    public static void CreateEventSource(string source)
    {
        if (!EventLog.SourceExists(source))
        {
            EventLog.CreateEventSource(source, "Application");
        }
    }

在Azure中使用事件日志(在事件查看器中写入)

我认为正确的解决方案是使用这里描述的方法之一将您的应用程序连接到应用程序洞察。从短期来看,为了让我的工作,我不得不删除对CreateEventSource()的调用并写入现有日志,因为我的应用程序没有权限在应用程序服务主机上创建新日志。

我知道这是一个古老的话题,但这可能有助于人们搜索周围,因为我是…

您可以使用Microsoft.Extensions.Logging.ILogger对象注销。然后在Azure中,如果你去你的应用服务,左边菜单,"诊断和解决问题";——比;诊断工具(在主窗格中)——>在新屏幕的左侧菜单上支持工具/应用程序事件日志。

您应该在日志流中看到您的事件输出!

我应该注意,这将不是完整的详细日志,但将是错误。对于完整的日志解决方案,如前所述,将您的应用程序连接到Application Insights。但是,对于快速简单的解决方案,查看错误输出,这是非常方便的。