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.
|
||||
// </copyright>
|
||||
|
||||
using OpenTelemetry.Trace;
|
||||
#if NETCOREAPP2_1
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
#endif
|
||||
|
|
@ -30,7 +31,7 @@ public class Program
|
|||
#endif
|
||||
{
|
||||
builder.AddOpenTelemetry(options => options
|
||||
.AddInMemoryExporter()); // TODO: change to console output
|
||||
.AddConsoleExporter());
|
||||
});
|
||||
|
||||
#if NETCOREAPP2_1
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<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 Condition="'$(TargetFramework)' == 'netcoreapp2.1'">
|
||||
|
|
|
|||
|
|
@ -2,6 +2,12 @@
|
|||
|
||||
## 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
|
||||
|
||||
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)
|
||||
|
||||
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
|
||||
data are created and exported. It is not recommended for any production
|
||||
|
|
|
|||
Loading…
Reference in New Issue