private async Task EnsureLoggersAsync(CancellationToken cancellationToken) { if (_loggersSet) { return; } IStorageAccount dashboardAccount = await _storageAccountProvider.GetDashboardAccountAsync(cancellationToken); IFunctionInstanceLogger traceWriterFunctionLogger = new TraceWriterFunctionInstanceLogger(_trace); if (dashboardAccount != null) { // Create logging against a live Azure account. IStorageBlobClient dashboardBlobClient = dashboardAccount.CreateBlobClient(); IPersistentQueueWriter<PersistentQueueMessage> queueWriter = new PersistentQueueWriter<PersistentQueueMessage>(dashboardBlobClient); PersistentQueueLogger queueLogger = new PersistentQueueLogger(queueWriter); _hostInstanceLogger = queueLogger; _functionInstanceLogger = new CompositeFunctionInstanceLogger(queueLogger, traceWriterFunctionLogger); _functionOutputLogger = new BlobFunctionOutputLogger(dashboardBlobClient); } else { // No auxillary logging. Logging interfaces are nops or in-memory. _hostInstanceLogger = new NullHostInstanceLogger(); _functionInstanceLogger = traceWriterFunctionLogger; _functionOutputLogger = new ConsoleFunctionOutputLogger(); } _loggersSet = true; }
private async Task EnsureLoggersAsync(CancellationToken cancellationToken) { if (_loggersSet) { return; } IStorageAccount dashboardAccount = await _storageAccountProvider.GetDashboardAccountAsync(cancellationToken); IFunctionInstanceLogger traceWriterFunctionLogger = new TraceWriterFunctionInstanceLogger(_trace); if (dashboardAccount != null) { // Create logging against a live Azure account. IStorageBlobClient dashboardBlobClient = dashboardAccount.CreateBlobClient(); IPersistentQueueWriter <PersistentQueueMessage> queueWriter = new PersistentQueueWriter <PersistentQueueMessage>(dashboardBlobClient); PersistentQueueLogger queueLogger = new PersistentQueueLogger(queueWriter); _hostInstanceLogger = queueLogger; _functionInstanceLogger = new CompositeFunctionInstanceLogger(queueLogger, traceWriterFunctionLogger); _functionOutputLogger = new BlobFunctionOutputLogger(dashboardBlobClient); } else { // No auxillary logging. Logging interfaces are nops or in-memory. _hostInstanceLogger = new NullHostInstanceLogger(); _functionInstanceLogger = traceWriterFunctionLogger; _functionOutputLogger = new ConsoleFunctionOutputLogger(); } _loggersSet = true; }
public TraceWriterFunctionInstanceLoggerTests() { _mockTraceWriter = new Mock<TraceWriter>(MockBehavior.Strict, TraceLevel.Warning); _logger = new TraceWriterFunctionInstanceLogger(_mockTraceWriter.Object); }
public TraceWriterFunctionInstanceLoggerTests() { _traceWriter = new TestTraceWriter(TraceLevel.Verbose); _logger = new TraceWriterFunctionInstanceLogger(_traceWriter); }