Esempio n. 1
0
        void ILogger.Log <TState>(Microsoft.Extensions.Logging.LogLevel logLevel, EventId eventId, TState state, Exception exception, Func <TState, Exception, string> formatter)
        {
            var parameters = state as LogEntryParameters ?? new ExternalLogEntryPerameters();

            var entry = LogEntity.CreateWithoutRowKey(
                parameters.AppName,
                parameters.AppVersion,
                parameters.EnvInfo,
                GetLogLevelString(logLevel),
                _componentName,
                parameters.Process,
                parameters.Context,
                exception?.GetType().ToString(),
                exception?.ToAsyncString(),
                formatter(state, exception),
                parameters.Moment);

            _persistenceQueue.Enqueue(entry);
        }
 private Task PersistEntriesGroup(IGrouping <string, LogEntity> group)
 {
     return(_storage.InsertBatchAndGenerateRowKeyAsync(
                group.ToArray(),
                (entity, retryNum, batchItemNum) => LogEntity.GenerateRowKey(entity.DateTime, batchItemNum, retryNum)));
 }
 /// <inheritdoc />
 public void Enqueue(LogEntity entry)
 {
     _batchBlock.Post(entry);
 }