예제 #1
0
        public async Task LogFunctionStarted_CallsLogger()
        {
            FunctionStartedMessage message = new FunctionStartedMessage
            {
                Function = new FunctionDescriptor
                {
                    ShortName = "Function.TestJob",
                    LogName   = "TestJob"
                },
                ReasonDetails      = "TestReason",
                HostInstanceId     = Guid.NewGuid(),
                FunctionInstanceId = Guid.NewGuid()
            };

            await _instanceLogger.LogFunctionStartedAsync(message, CancellationToken.None);

            string expectedCategory = LogCategories.CreateFunctionCategory("TestJob");

            LogMessage logMessage = _provider.GetAllLogMessages().Single();

            Assert.Equal(LogLevel.Information, logMessage.Level);
            Assert.Equal(expectedCategory, logMessage.Category);

            Assert.Null(logMessage.State);
            Assert.Equal($"Executing 'Function.TestJob' (Reason='TestReason', Id={message.FunctionInstanceId})", logMessage.FormattedMessage);
        }
예제 #2
0
        public async Task LogFunctionStarted_CallsLogger()
        {
            Dictionary <string, string> triggerDetails = new Dictionary <string, string>()
            {
                { "MessageId", Guid.NewGuid().ToString() },
                { "DequeueCount", "1" },
                { "InsertionTime", DateTime.Now.ToString() }
            };
            FunctionStartedMessage message = new FunctionStartedMessage
            {
                Function = new FunctionDescriptor
                {
                    ShortName = "Function.TestJob",
                    LogName   = "TestJob"
                },
                ReasonDetails      = "TestReason",
                HostInstanceId     = Guid.NewGuid(),
                FunctionInstanceId = Guid.NewGuid(),
                TriggerDetails     = triggerDetails
            };

            string expectedMessage = $"MessageId: {triggerDetails["MessageId"]}, " +
                                     $"DequeueCount: {triggerDetails["DequeueCount"]}, " +
                                     $"InsertionTime: {triggerDetails["InsertionTime"]}";

            await _instanceLogger.LogFunctionStartedAsync(message, CancellationToken.None);

            string expectedCategory = LogCategories.CreateFunctionCategory("TestJob");

            LogMessage[] logMessages = _provider.GetAllLogMessages().ToArray();

            Assert.Equal(2, logMessages.Length);

            LogMessage invocationLogMessage = logMessages[0];

            Assert.Equal(LogLevel.Information, invocationLogMessage.Level);
            Assert.Equal(expectedCategory, invocationLogMessage.Category);
            Assert.Null(invocationLogMessage.State);
            Assert.Equal($"Executing 'Function.TestJob' (Reason='TestReason', Id={message.FunctionInstanceId})",
                         invocationLogMessage.FormattedMessage);

            LogMessage triggerDetailsLogMessage = logMessages[1];

            Assert.Equal(LogLevel.Information, triggerDetailsLogMessage.Level);
            Assert.Equal(expectedCategory, triggerDetailsLogMessage.Category);
            Assert.NotNull(triggerDetailsLogMessage.State);
            Assert.Equal($"Trigger Details: {expectedMessage}",
                         triggerDetailsLogMessage.FormattedMessage);
        }