Add extension method to add ConsoleExporter for logs (#1452)
* Added an extension method to add ConsoleExporter for logs; Updated the logs getting-started docs to add ConsoleExporter * Updated CHANGELOG.md * Addressing PR comments Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
This commit is contained in:
parent
c55145b186
commit
fcde600f22
|
|
@ -14,6 +14,7 @@
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
// </copyright>
|
// </copyright>
|
||||||
|
|
||||||
|
using OpenTelemetry.Trace;
|
||||||
#if NETCOREAPP2_1
|
#if NETCOREAPP2_1
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -30,7 +31,7 @@ public class Program
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
builder.AddOpenTelemetry(options => options
|
builder.AddOpenTelemetry(options => options
|
||||||
.AddInMemoryExporter()); // TODO: change to console output
|
.AddConsoleExporter());
|
||||||
});
|
});
|
||||||
|
|
||||||
#if NETCOREAPP2_1
|
#if NETCOREAPP2_1
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="$(RepoRoot)\src\OpenTelemetry.Exporter.InMemory\OpenTelemetry.Exporter.InMemory.csproj" />
|
<ProjectReference Include="$(RepoRoot)\src\OpenTelemetry.Exporter.Console\OpenTelemetry.Exporter.Console.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp2.1'">
|
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp2.1'">
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,12 @@
|
||||||
|
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
|
* Add extension method to add `ConsoleExporter` for logs
|
||||||
|
([#1452](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1452))
|
||||||
|
|
||||||
|
* Generalized `ConsoleExporter` to add support for logs
|
||||||
|
([#1438](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1438))
|
||||||
|
|
||||||
## 0.7.0-beta.1
|
## 0.7.0-beta.1
|
||||||
|
|
||||||
Released 2020-Oct-16
|
Released 2020-Oct-16
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
// <copyright file="ConsoleExporterLoggingExtensions.cs" company="OpenTelemetry Authors">
|
||||||
|
// Copyright The OpenTelemetry Authors
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License.
|
||||||
|
// You may obtain a copy of the License at
|
||||||
|
//
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
// </copyright>
|
||||||
|
|
||||||
|
#if NET461 || NETSTANDARD2_0
|
||||||
|
using System;
|
||||||
|
using OpenTelemetry.Exporter;
|
||||||
|
using OpenTelemetry.Logs;
|
||||||
|
|
||||||
|
namespace OpenTelemetry.Trace
|
||||||
|
{
|
||||||
|
public static class ConsoleExporterLoggingExtensions
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Adds Console Exporter as a configuration to the OpenTelemetry ILoggingBuilder.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="loggerOptions"><see cref="OpenTelemetryLoggerOptions"/> options to use.</param>
|
||||||
|
/// <param name="configure">Exporter configuration options.</param>
|
||||||
|
/// <returns>The instance of <see cref="OpenTelemetryLoggerOptions"/> to chain the calls.</returns>
|
||||||
|
public static OpenTelemetryLoggerOptions AddConsoleExporter(this OpenTelemetryLoggerOptions loggerOptions, Action<ConsoleExporterOptions> configure = null)
|
||||||
|
{
|
||||||
|
if (loggerOptions == null)
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException(nameof(loggerOptions));
|
||||||
|
}
|
||||||
|
|
||||||
|
var options = new ConsoleExporterOptions();
|
||||||
|
configure?.Invoke(options);
|
||||||
|
return loggerOptions.AddProcessor(new SimpleExportProcessor<LogRecord>(new ConsoleExporter<LogRecord>(options)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
[](https://www.nuget.org/packages/OpenTelemetry.Exporter.Console)
|
[](https://www.nuget.org/packages/OpenTelemetry.Exporter.Console)
|
||||||
[](https://www.nuget.org/packages/OpenTelemetry.Exporter.Console)
|
[](https://www.nuget.org/packages/OpenTelemetry.Exporter.Console)
|
||||||
|
|
||||||
The console exporter prints data to the Console in a JSON serialized format.
|
The console exporter prints data to the Console window.
|
||||||
|
|
||||||
**Note:** this exporter is intended to be used during learning how telemetry
|
**Note:** this exporter is intended to be used during learning how telemetry
|
||||||
data are created and exported. It is not recommended for any production
|
data are created and exported. It is not recommended for any production
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue