public void WriteLog( TelemetryLogLevel logLevel, string section, string logMessage, IDictionary <string, string> properties = null, Exception exception = null) { this.telemetryProvider.WriteLog( logLevel, string.IsNullOrWhiteSpace(section) ? logMessage : $"[{section}] {logMessage}", properties, exception); }
public void WriteLog( TelemetryLogLevel logLevel, string section, string summary, IEnumerable <string> details, IDictionary <string, string> properties = null, Exception exception = null) { this.WriteLog( logLevel, section, $"{summary}{string.Join(string.Empty, details.Select(s => $"\r\n\t{s}"))}", properties, exception); }
public void WriteLog( TelemetryLogLevel logLevel, string logMessage, IDictionary <string, string> properties, Exception exception = null) { var msg = logMessage; if (exception != null) { msg += FormattableString.Invariant($"{Environment.NewLine}Exception:{Environment.NewLine}{exception.GetDetailMessage()}"); this.telemetryClient?.TrackException(exception); } var now = DateTime.UtcNow; switch (logLevel) { case TelemetryLogLevel.Verbose: case TelemetryLogLevel.Information: default: Trace.TraceInformation(FormattableString.Invariant($"{now}: {msg}")); break; case TelemetryLogLevel.Warning: Trace.TraceWarning(FormattableString.Invariant($"{now}: {msg}")); break; case TelemetryLogLevel.Error: case TelemetryLogLevel.Critical: Trace.TraceError(FormattableString.Invariant($"{now}: {msg}")); break; } var traceTelemetry = new TraceTelemetry(msg, ToSeverityLevel(logLevel)) { Timestamp = now, }; traceTelemetry.Properties.Merge(properties); this.telemetryClient?.TrackTrace(traceTelemetry); }
private static SeverityLevel ToSeverityLevel(TelemetryLogLevel logLevel) { switch (logLevel) { case TelemetryLogLevel.Verbose: default: return(SeverityLevel.Verbose); case TelemetryLogLevel.Information: return(SeverityLevel.Information); case TelemetryLogLevel.Warning: return(SeverityLevel.Warning); case TelemetryLogLevel.Error: return(SeverityLevel.Error); case TelemetryLogLevel.Critical: return(SeverityLevel.Critical); } }
private static void Log( TelemetryLogLevel logLevel, string message, TelemetryContext context = null, Exception exception = null) { RunTelemetryAction(() => { TelemetryManager.WriteLog( logLevel, "WebApp", message, GetProperties(context), exception); if (exception != null) { WriteMetric(TelemetryMetricNames.ExceptionOccurred); } }); }