示例#1
0
 public SagaMachine(IKeyValueStore keyValueStore, Func <IEnumerable <ISagaMessageIdentifier>, Task> messagePublisher, IEventLoggerFactory eventLoggerFactory)
 {
     _keyValueStore      = keyValueStore;
     _messagePublisher   = messagePublisher;
     _eventLoggerFactory = eventLoggerFactory;
     _processRegistry    = new Dictionary <Type, Action <ISagaMessageIdentifier> >();
 }
 public KeyValueSagaProcessState(TIncomingMessage incomingMessage, IKeyValueStore keyValueStore, Func <IEnumerable <ISagaMessageIdentifier>, Task> messagePublisher, IEventLoggerFactory eventLoggerFactory)
 {
     _incomingMessage    = incomingMessage;
     _keyValueStore      = keyValueStore;
     _messagePublisher   = messagePublisher;
     _eventLoggerFactory = eventLoggerFactory;
     _messagesToPublish  = new List <ISagaMessageIdentifier>();
     _logState           = new SagaLogState();
 }
        public LoggingEventPublisher(IEventLoggerFactory loggerFactory)
        {
            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }

            this.logger = loggerFactory.Create <TPublisher>();

            this.eventLogLevels = new Dictionary <Type, LogLevel>
            {
                { typeof(PathResolutionCompleteEvent), LogLevel.Debug },
                { typeof(PathExecutionEvent), LogLevel.Debug },
                { typeof(ActionExecutionEvent), LogLevel.Debug },
                { typeof(CommandExecutionEvent), LogLevel.Trace },
                { typeof(QueryExecutionEvent), LogLevel.Trace }
            };
        }
        public EventLevelLoggerFactory(LogLevel logLevel, IEventLoggerFactory loggerFactory)
        {
            if (logLevel == LogLevel.None)
            {
                throw new ArgumentNullException(nameof(logLevel));
            }

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }

            this.logLevel      = logLevel;
            this.loggerFactory = loggerFactory;

            this.eventLevels = new Dictionary <Type, int>
            {
                { typeof(PathExecutionEvent), 0 },
                { typeof(ActionExecutionEvent), 1 },
                { typeof(CommandExecutionEvent), 2 },
                { typeof(QueryExecutionEvent), 1 }
            };
        }
示例#5
0
 public LoggingEventPublisherFactory(IEventLoggerFactory loggerFactory)
 {
     this.loggerFactory = loggerFactory;
 }
示例#6
0
 public CallLogger(IEventLoggerFactory loggerFactory)
 {
     this.logger = loggerFactory.Create<CallLogger>();
 }