繁体   English   中英

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

[英]Use Event Log (Write in Event Viewer) in Azure

我的网站是用 ASP.NET 编写的,我使用 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");
        }
    }

我认为正确的解决方案是使用此处描述的方法之一将您的应用程序连接到应用程序洞察力。 在短期内,为了让我的工作正常工作,我必须删除对CreateEventSource()的调用并写入现有日志,因为我的应用程序无权在应用程序服务主机上创建新日志。

我知道这是一个古老的话题,但这可能会帮助像我一样四处寻找的人......

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

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

我应该注意,这不是完整的详细日志,而是错误。 要获得完整的日志记录解决方案,请按照之前的建议将您的应用连接到 Application Insights。 但是,对于快速简便的解决方案,查看错误输出,这非常方便。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM