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

时间:2016-07-02 17:23:08

标签: c# asp.net azure event-log event-viewer

我的网站,用ASP.NET编写,我使用EventLog将日志写入事件查看器。它已在生产中运行(操作系统:Windows Server 2012 R2),并且在记录某些错误时没有遇到任何问题。我现在计划将服务器迁移到Azure - App Services。我想知道我的代码在记录错误后是否仍然可以移动到Azure - App Services?如果是,那么我如何查看我的网站记录的错误?我无法在Azure - App Services中看到事件查看器。如果不是那么在记录错误时替换我的代码的最简单和最快的替代方法是什么?

这是我的代码:

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

2 个答案:

答案 0 :(得分:2)

我认为正确的解决方案是使用here所述的方法之一将您的应用与应用洞察相关联。在短期内,为了让我的工作能够工作,我必须删除对CreateEventSource()的调用并写入现有日志,因为我的应用程序没有权限在应用服务主机上创建新日志。

答案 1 :(得分:0)

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

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

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