Skip to content

Commit 45a3afd

Browse files
Enable log forwarding from Azure SDK. (Azure#20632)
* Enable log forwarding from Azure SDK. * Update comment
1 parent 8be3978 commit 45a3afd

File tree

8 files changed

+149
-95
lines changed

8 files changed

+149
-95
lines changed

sdk/servicebus/Microsoft.Azure.WebJobs.Extensions.ServiceBus/src/Config/ServiceBusClientFactory.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,13 @@ internal class ServiceBusClientFactory
2222
public ServiceBusClientFactory(
2323
IConfiguration configuration,
2424
AzureComponentFactory componentFactory,
25-
MessagingProvider messagingProvider)
25+
MessagingProvider messagingProvider,
26+
AzureEventSourceLogForwarder logForwarder)
2627
{
2728
_configuration = configuration;
2829
_componentFactory = componentFactory;
2930
_messagingProvider = messagingProvider;
31+
logForwarder.Start();
3032
}
3133

3234
internal ServiceBusClient CreateClientFromSetting(string connection)

sdk/servicebus/Microsoft.Azure.WebJobs.Extensions.ServiceBus/tests/Bindings/ServiceBusAttributeBindingProviderTests.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
using Microsoft.Azure.WebJobs.ServiceBus.Bindings;
1313
using Microsoft.Extensions.Azure;
1414
using Microsoft.Extensions.Configuration;
15+
using Microsoft.Extensions.Logging.Abstractions;
1516
using Microsoft.Extensions.Options;
1617
using Moq;
1718
using NUnit.Framework;
@@ -30,7 +31,7 @@ public ServiceBusAttributeBindingProviderTests()
3031
Mock<INameResolver> mockResolver = new Mock<INameResolver>(MockBehavior.Strict);
3132
ServiceBusOptions config = new ServiceBusOptions();
3233
var messagingProvider = new MessagingProvider(new OptionsWrapper<ServiceBusOptions>(config));
33-
var factory = new ServiceBusClientFactory(_configuration, new Mock<AzureComponentFactory>().Object, messagingProvider);
34+
var factory = new ServiceBusClientFactory(_configuration, new Mock<AzureComponentFactory>().Object, messagingProvider, new AzureEventSourceLogForwarder(new NullLoggerFactory()));
3435
_provider = new ServiceBusAttributeBindingProvider(mockResolver.Object, messagingProvider, factory);
3536
}
3637

sdk/servicebus/Microsoft.Azure.WebJobs.Extensions.ServiceBus/tests/Bindings/ServiceBusTriggerAttributeBindingProviderTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public ServiceBusTriggerAttributeBindingProviderTests()
3434

3535
Mock<IConverterManager> convertManager = new Mock<IConverterManager>(MockBehavior.Default);
3636
var provider = new MessagingProvider(new OptionsWrapper<ServiceBusOptions>(options));
37-
var factory = new ServiceBusClientFactory(configuration, new Mock<AzureComponentFactory>().Object, provider);
37+
var factory = new ServiceBusClientFactory(configuration, new Mock<AzureComponentFactory>().Object, provider, new AzureEventSourceLogForwarder(new NullLoggerFactory()));
3838
_provider = new ServiceBusTriggerAttributeBindingProvider(mockResolver.Object, options, provider, NullLoggerFactory.Instance, convertManager.Object, factory);
3939
}
4040

sdk/servicebus/Microsoft.Azure.WebJobs.Extensions.ServiceBus/tests/Config/ServiceBusClientFactoryTests.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
using System.Linq;
1414
using System.Text;
1515
using System.Threading.Tasks;
16+
using Microsoft.Extensions.Logging.Abstractions;
1617

1718
namespace Microsoft.Azure.WebJobs.ServiceBus.Tests.Config
1819
{
@@ -34,7 +35,7 @@ public void ReadDefaultConnectionString(string defaultConnectionString, string d
3435
p => p.CreateClient(expectedValue))
3536
.Returns(Mock.Of<ServiceBusClient>());
3637

37-
var factory = new ServiceBusClientFactory(configuration, Mock.Of<AzureComponentFactory>(), mockProvider.Object);
38+
var factory = new ServiceBusClientFactory(configuration, Mock.Of<AzureComponentFactory>(), mockProvider.Object, new AzureEventSourceLogForwarder(new NullLoggerFactory()));
3839
if (expectedValue == null)
3940
{
4041
Assert.That(

sdk/servicebus/Microsoft.Azure.WebJobs.Extensions.ServiceBus/tests/Listeners/ServiceBusListenerTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public ServiceBusListenerTests()
5050
_mockMessageProcessor = new Mock<MessageProcessor>(MockBehavior.Strict, processor, receiver);
5151

5252
_mockMessagingProvider = new Mock<MessagingProvider>(new OptionsWrapper<ServiceBusOptions>(config));
53-
_mockClientFactory = new Mock<ServiceBusClientFactory>(configuration, Mock.Of<AzureComponentFactory>(), _mockMessagingProvider.Object);
53+
_mockClientFactory = new Mock<ServiceBusClientFactory>(configuration, Mock.Of<AzureComponentFactory>(), _mockMessagingProvider.Object, new AzureEventSourceLogForwarder(new NullLoggerFactory()));
5454
_mockMessagingProvider
5555
.Setup(p => p.CreateMessageProcessor(It.IsAny<ServiceBusClient>(), _entityPath))
5656
.Returns(_mockMessageProcessor.Object);

sdk/servicebus/Microsoft.Azure.WebJobs.Extensions.ServiceBus/tests/Listeners/ServiceBusScaleMonitorTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public void Setup()
5252

5353
_serviceBusOptions = new ServiceBusOptions();
5454
_mockProvider = new Mock<MessagingProvider>(new OptionsWrapper<ServiceBusOptions>(new ServiceBusOptions()));
55-
_mockClientFactory = new Mock<ServiceBusClientFactory>(configuration, Mock.Of<AzureComponentFactory>(), _mockProvider.Object);
55+
_mockClientFactory = new Mock<ServiceBusClientFactory>(configuration, Mock.Of<AzureComponentFactory>(), _mockProvider.Object, new AzureEventSourceLogForwarder(new NullLoggerFactory()));
5656

5757
_mockProvider
5858
.Setup(p => p.CreateMessageProcessor(_client, _entityPath))

sdk/servicebus/Microsoft.Azure.WebJobs.Extensions.ServiceBus/tests/ServiceBusEndToEndTests.cs

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313
using Azure.Messaging.ServiceBus.Tests;
1414
using Microsoft.Azure.WebJobs.Host.TestCommon;
1515
using Microsoft.Azure.WebJobs.ServiceBus;
16-
using Microsoft.Extensions.Azure;
17-
using Microsoft.Extensions.Configuration;
1816
using Microsoft.Extensions.DependencyInjection;
1917
using Microsoft.Extensions.Hosting;
2018
using Microsoft.Extensions.Logging;
@@ -360,15 +358,15 @@ private async Task ServiceBusEndToEndInternal<T>(IHost host)
360358
Assert.AreEqual("E2E-SBQueue2SBQueue-SBQueue2SBTopic-topic-2", _resultMessage2);
361359

362360
IEnumerable<LogMessage> logMessages = host.GetTestLoggerProvider()
363-
.GetAllLogMessages();
361+
// Filter out Azure SDK and custom processor logs for easier validation. Intentionally do the error check after as the
362+
// Service Bus SDK currently logs errors when stopping the processor.
363+
.GetAllLogMessages().Where(m =>
364+
!m.Category.StartsWith("Azure.") &&
365+
m.Category != CustomMessagingProvider.CustomMessagingCategory);
364366

365-
Assert.False(logMessages.Where(p => p.Level == LogLevel.Error).Any());
367+
Assert.False(logMessages.Any(p => p.Level == LogLevel.Error));
366368

367-
// filter out anything from the custom processor for easier validation.
368-
IEnumerable<LogMessage> consoleOutput = logMessages
369-
.Where(m => m.Category != CustomMessagingProvider.CustomMessagingCategory);
370-
371-
string[] consoleOutputLines = consoleOutput
369+
string[] consoleOutputLines = logMessages
372370
.Where(p => p.FormattedMessage != null)
373371
.SelectMany(p => p.FormattedMessage.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries))
374372
.OrderBy(p => p)

0 commit comments

Comments
 (0)