public TransactionContext( string transactionId, DateTimeOffset startTime, TransactionConfigImmutable config, PerTransactionConfigImmutable?perConfig) { TransactionId = transactionId; StartTime = startTime; Config = config; PerConfig = perConfig ?? new PerTransactionConfig().AsImmutable(); }
public void TransactionLogger_Redacts_Properly() { var testOutputLogger = new TestOutputLogger(this.outputHelper, nameof(LoggerTests)); var config = new TransactionConfigImmutable( ExpirationTime: TimeSpan.FromMinutes(10), CleanupLostAttempts: false, CleanupClientAttempts: false, CleanupWindow: TimeSpan.FromSeconds(10), KeyValueTimeout: TimeSpan.FromSeconds(10), DurabilityLevel: DurabilityLevel.Majority, LoggerFactory: null, MetadataCollection: null ); var ctx = new TransactionContext(Guid.NewGuid().ToString(), DateTimeOffset.UtcNow, config, null); var loggerFactory = new TransactionsLoggerFactory(new TestOutputLoggerFactory(this.outputHelper), ctx); var transactionsLogger = loggerFactory.CreateLogger(nameof(TransactionLogger_Redacts_Properly)); var redactor = new TestRedactor(); transactionsLogger.LogDebug("Example UD: {id}", redactor.UserData("default:_default:_default" + Guid.NewGuid().ToString())); var logs = ctx.Logs.ToList(); Assert.NotEmpty(logs); Assert.Collection(logs, s => s.Contains("</ud>")); }