protected void ActiveMessageParameterProcessor(LoggingConfiguration loggingConfiguration) { var destructure = loggingConfiguration.Destructure ?? new DestructureConfiguration(); var resolver = new MessageParameterResolver( destructure.MaximumLengthOfString, destructure.MaximumLevelOfNestLevelLimited, destructure.MaximumLoopCountForCollection, destructure.AdditionalScalarTypes, destructure.AdditionalDestructureResolveRules, false); MessageParameterProcessorCache.Set(new MessageParameterProcessor(resolver, _messageTemplateCachePreheater)); }
/// <summary> /// Create a new instance of <see cref="LoggerBase"/> /// </summary> /// <param name="sourceType"></param> /// <param name="minimumLevel"></param> /// <param name="loggerStateNamespace"></param> /// <param name="filter"></param> /// <param name="sendMode"></param> /// <param name="renderingOptions"></param> /// <param name="logPayloadSender"></param> protected LoggerBase( Type sourceType, LogEventLevel minimumLevel, string loggerStateNamespace, Func <string, LogEventLevel, bool> filter, LogEventSendMode sendMode, RenderingConfiguration renderingOptions, ILogPayloadSender logPayloadSender) { StateNamespace = loggerStateNamespace; TargetType = sourceType ?? typeof(object); MinimumLevel = minimumLevel; SendMode = sendMode; _filter = filter ?? TrueFilter; _logPayloadSender = logPayloadSender ?? throw new ArgumentNullException(nameof(logPayloadSender)); _messageParameterProcessor = MessageParameterProcessorCache.Get(); _upstreamRenderingOptions = renderingOptions ?? new RenderingConfiguration(); AutomaticPayload = new LogPayload(sourceType, loggerStateNamespace, Enumerable.Empty <LogEvent>()); ManuallyPayload = new LogPayload(sourceType, loggerStateNamespace, Enumerable.Empty <LogEvent>()); CurrentManuallyTransId = DateTime.Now.Ticks; _manuallyLogEventDescriptors.TryAdd(CurrentManuallyTransId, new List <ManuallyLogEventDescriptor>()); }
static LogEventEnricherManager() { _enrichers = new List <ILogEventEnricher>(); _propertyFactory = MessageParameterProcessorCache.Get(); }
/// <summary> /// Get an instance of <see cref="IShortcutPropertyFactory"/> from <see cref="MessageParameterProcessorCache"/>. /// </summary> /// <returns></returns> public IShortcutPropertyFactory Get() => MessageParameterProcessorCache.Get();