Skip to content

Commit 2aa8163

Browse files
authored
Modify aspnetcore example to allow otlp log exporter (#2801)
1 parent 90146f8 commit 2aa8163

File tree

5 files changed

+39
-14
lines changed

5 files changed

+39
-14
lines changed

examples/AspNetCore/Examples.AspNetCore.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.NET.Sdk.Web">
1+
<Project Sdk="Microsoft.NET.Sdk.Web">
22

33
<PropertyGroup>
44
<TargetFramework>netcoreapp3.1</TargetFramework>
@@ -18,6 +18,7 @@
1818
<ProjectReference Include="$(RepoRoot)\src\OpenTelemetry.Exporter.Jaeger\OpenTelemetry.Exporter.Jaeger.csproj" />
1919
<ProjectReference Include="$(RepoRoot)\src\OpenTelemetry.Exporter.Zipkin\OpenTelemetry.Exporter.Zipkin.csproj" />
2020
<ProjectReference Include="$(RepoRoot)\src\OpenTelemetry.Exporter.OpenTelemetryProtocol\OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj" />
21+
<ProjectReference Include="$(RepoRoot)\src\OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs\OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs.csproj" />
2122
<ProjectReference Include="$(RepoRoot)\src\OpenTelemetry.Exporter.Prometheus\OpenTelemetry.Exporter.Prometheus.csproj" />
2223
<ProjectReference Include="$(RepoRoot)\src\OpenTelemetry.Instrumentation.AspNetCore\OpenTelemetry.Instrumentation.AspNetCore.csproj" />
2324
<ProjectReference Include="$(RepoRoot)\src\OpenTelemetry.Instrumentation.Http\OpenTelemetry.Instrumentation.Http.csproj" />

examples/AspNetCore/Program.cs

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,14 @@
1414
// limitations under the License.
1515
// </copyright>
1616

17+
using System;
1718
using Microsoft.AspNetCore.Hosting;
1819
using Microsoft.Extensions.Configuration;
20+
using Microsoft.Extensions.DependencyInjection;
1921
using Microsoft.Extensions.Hosting;
2022
using Microsoft.Extensions.Logging;
2123
using OpenTelemetry.Logs;
24+
using OpenTelemetry.Resources;
2225

2326
namespace Examples.AspNetCore
2427
{
@@ -40,17 +43,38 @@ public static IHostBuilder CreateHostBuilder(string[] args) =>
4043
builder.ClearProviders();
4144
builder.AddConsole();
4245

43-
var useLogging = context.Configuration.GetValue<bool>("UseLogging");
44-
if (useLogging)
46+
var logExporter = context.Configuration.GetValue<string>("UseLogExporter").ToLowerInvariant();
47+
switch (logExporter)
4548
{
46-
builder.AddOpenTelemetry(options =>
47-
{
48-
options.IncludeScopes = true;
49-
options.ParseStateValues = true;
50-
options.IncludeFormattedMessage = true;
51-
options.AddConsoleExporter();
52-
});
49+
case "otlp":
50+
// Adding the OtlpExporter creates a GrpcChannel.
51+
// This switch must be set before creating a GrpcChannel when calling an insecure gRPC service.
52+
// See: https://docs.microsoft.com/aspnet/core/grpc/troubleshoot#call-insecure-grpc-services-with-net-core-client
53+
AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
54+
builder.AddOpenTelemetry(options =>
55+
{
56+
options.SetResourceBuilder(ResourceBuilder.CreateDefault().AddService(context.Configuration.GetValue<string>("Otlp:ServiceName")));
57+
options.AddOtlpExporter(otlpOptions =>
58+
{
59+
otlpOptions.Endpoint = new Uri(context.Configuration.GetValue<string>("Otlp:Endpoint"));
60+
});
61+
});
62+
break;
63+
64+
default:
65+
builder.AddOpenTelemetry(options =>
66+
{
67+
options.AddConsoleExporter();
68+
});
69+
break;
5370
}
71+
72+
builder.Services.Configure<OpenTelemetryLoggerOptions>(opt =>
73+
{
74+
opt.IncludeScopes = true;
75+
opt.ParseStateValues = true;
76+
opt.IncludeFormattedMessage = true;
77+
});
5478
});
5579
}
5680
}

examples/AspNetCore/appsettings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"AllowedHosts": "*",
1010
"UseTracingExporter": "console",
1111
"UseMetricsExporter": "console",
12-
"UseLogging": true,
12+
"UseLogExporter": "console",
1313
"Jaeger": {
1414
"ServiceName": "jaeger-test",
1515
"AgentHost": "localhost",

examples/Console/Examples.Console.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFramework>netcoreapp3.1</TargetFramework>
5+
<TargetFramework>net6.0</TargetFramework>
66
<IsPackable>false</IsPackable>
77
<NoWarn>$(NoWarn),CS0618</NoWarn>
88
</PropertyGroup>

examples/GrpcService/Examples.GrpcService.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22

33
<PropertyGroup>
4-
<TargetFramework>netcoreapp3.1</TargetFramework>
4+
<TargetFramework>net6.0</TargetFramework>
55
</PropertyGroup>
66

77
<ItemGroup>

0 commit comments

Comments
 (0)