/// <inheritdoc/> public void Log( AvaloniaLogEventLevel level, string area, object source, string messageTemplate, params object[] propertyValues) { Contract.Requires <ArgumentNullException>(area != null); Contract.Requires <ArgumentNullException>(messageTemplate != null); using (PushLogContextProperties(area, source)) { _output.Write((SerilogLogEventLevel)level, messageTemplate, propertyValues); } }
/// <inheritdoc/> public void Log( AvaloniaLogEventLevel level, string area, object source, string messageTemplate, params object[] propertyValues) { ILogger areaLogger; if (!_areas.TryGetValue(area, out areaLogger)) { areaLogger = _output.ForContext("Area", area); _areas.Add(area, areaLogger); } areaLogger.Write((SerilogLogEventLevel)level, messageTemplate, propertyValues); }
/// <inheritdoc/> public void Log( AvaloniaLogEventLevel level, string area, object source, string messageTemplate, params object[] propertyValues) { Contract.Requires <ArgumentNullException>(area != null); Contract.Requires <ArgumentNullException>(messageTemplate != null); using (LogContext.PushProperty("Area", area)) using (LogContext.PushProperty("SourceType", source?.GetType())) using (LogContext.PushProperty("SourceHash", source?.GetHashCode())) { _output.Write((SerilogLogEventLevel)level, messageTemplate, propertyValues); } }