@@ -8,12 +8,13 @@ This repository is the Dart implementation of the [OpenTelemetry project](https:
88| - | - |
99| Traces | Beta |
1010| Metrics | Alpha |
11- | Logs | Unimplemented |
11+ | Logs | Beta |
1212
1313## Getting Started
1414
1515This section will show you how to initialize the OpenTelemetry SDK, capture a span, and propagate context.
1616
17+ ### Tacers
1718### Initialize the OpenTelemetry SDK
1819
1920``` dart
@@ -62,6 +63,45 @@ void main(List<String> args) {
6263}
6364```
6465
66+ ### Logs
67+ #### Initialize the OpenTelemetry SDK
68+
69+ ``` dart
70+ import 'package:opentelemetry/sdk.dart'
71+ show
72+ BatchLogRecordProcessor,
73+ OTLPLogExporter,
74+ ConsoleExporter,
75+ SimpleLogRecordProcessor,
76+ TracerProviderBase;
77+ import 'package:opentelemetry/api.dart'
78+ show registerGlobalLogProvider, globalLogProvider;
79+
80+ void main(List<String> args) {
81+ final logProvider = TracerProviderBase(processors: [
82+ BatchLogRecordProcessor(
83+ OTLPLogExporter(Uri.parse('https://my-collector.com/v1/traces'))),
84+ SimpleLogRecordProcessor(ConsoleLogRecordExporter())
85+ ]);
86+
87+ registerGlobalLogProvider(logProvider);
88+ final tracer = globalLogProvider.get('logger-name');
89+ }
90+ ```
91+
92+ ### Capture a Log
93+ ``` dart
94+ import 'package:opentelemetry/api.dart' show StatusCode, globalLogProvider;
95+
96+ void main(List<String> args) {
97+ final logger = globalLogProvider.get('logger-name');
98+
99+ logger.emit(body: "Hello World!");
100+ }
101+ ```
102+
103+
104+
65105### Propagate Context
66106
67107### Intra-process
0 commit comments