How to Log exceptions caught in WCF service deployed on Azure

前端 未结 1 1532
离开以前
离开以前 2021-02-15 13:11

What is the best way to log the exceptions caught in WCF service hosted on cloud?

1条回答
  •  梦谈多话
    2021-02-15 13:39

    You can take advantage of System.Diagnostics and logging your exceptions with Trace.traceError(). You can then schedule these trace statements to be periodically uploaded to table storage (maybe once a minute?), where you can then retrieve and analyze the trace statements either with an on-premise app or one running in a worker role.

    For example: in your worker role's OnStart(), customize the Diagnostic Manager to upload your trace data to table storage. In this example, it's uploading every minute, to the storage account specified in DiagnosticsConnectionString (this is, by default, set up to point to dev storage):

    var diag = DiagnosticMonitor.GetDefaultInitialConfiguration();
    diag.Logs.ScheduledTransferLogLevelFilter = LogLevel.Information;
    diag.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1.0);
    DiagnosticMonitor.Start("DiagnosticsConnectionString", diag);
    

    Then, whenever you encounter an exception in your WCF Service, log it:

    System.Diagnostics.Trace.TraceError("WCF Error caught: ...");
    

    Finally, either write some code to query the diagnostic data, or use something like the new built-in Visual Studio storage explorer to view and act on the errors.

    0 讨论(0)
提交回复
热议问题