示例#1
0
        /// <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);
            }
        }
示例#2
0
        /// <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);
        }
示例#3
0
        /// <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);
        }
示例#4
0
        /// <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);
                    }
        }