@@ -14,7 +14,7 @@ use std::fmt::Debug;
14
14
15
15
use opentelemetry:: logs:: LogError ;
16
16
17
- use opentelemetry_sdk:: { export:: logs:: LogData , runtime:: RuntimeChannel } ;
17
+ use opentelemetry_sdk:: { export:: logs:: LogData , runtime:: RuntimeChannel , Resource } ;
18
18
19
19
/// Compression algorithm to use, defaults to none.
20
20
pub const OTEL_EXPORTER_OTLP_LOGS_COMPRESSION : & str = "OTEL_EXPORTER_OTLP_LOGS_COMPRESSION" ;
@@ -35,7 +35,7 @@ impl OtlpPipeline {
35
35
/// Create a OTLP logging pipeline.
36
36
pub fn logging ( self ) -> OtlpLogPipeline < NoExporterConfig > {
37
37
OtlpLogPipeline {
38
- log_config : None ,
38
+ resource : None ,
39
39
exporter_builder : NoExporterConfig ( ( ) ) ,
40
40
batch_config : None ,
41
41
}
@@ -111,15 +111,17 @@ impl opentelemetry_sdk::export::logs::LogExporter for LogExporter {
111
111
#[ derive( Debug ) ]
112
112
pub struct OtlpLogPipeline < EB > {
113
113
exporter_builder : EB ,
114
- log_config : Option < opentelemetry_sdk :: logs :: Config > ,
114
+ resource : Option < Resource > ,
115
115
batch_config : Option < opentelemetry_sdk:: logs:: BatchConfig > ,
116
116
}
117
117
118
118
impl < EB > OtlpLogPipeline < EB > {
119
- /// Set the log provider configuration.
120
- pub fn with_log_config ( mut self , log_config : opentelemetry_sdk:: logs:: Config ) -> Self {
121
- self . log_config = Some ( log_config) ;
122
- self
119
+ /// Set the Resource associated with log provider.
120
+ pub fn with_resource ( self , resource : Resource ) -> Self {
121
+ OtlpLogPipeline {
122
+ resource : Some ( resource) ,
123
+ ..self
124
+ }
123
125
}
124
126
125
127
/// Set the batch log processor configuration, and it will override the env vars.
@@ -137,7 +139,7 @@ impl OtlpLogPipeline<NoExporterConfig> {
137
139
) -> OtlpLogPipeline < LogExporterBuilder > {
138
140
OtlpLogPipeline {
139
141
exporter_builder : pipeline. into ( ) ,
140
- log_config : self . log_config ,
142
+ resource : self . resource ,
141
143
batch_config : self . batch_config ,
142
144
}
143
145
}
@@ -152,7 +154,7 @@ impl OtlpLogPipeline<LogExporterBuilder> {
152
154
pub fn install_simple ( self ) -> Result < opentelemetry_sdk:: logs:: LoggerProvider , LogError > {
153
155
Ok ( build_simple_with_exporter (
154
156
self . exporter_builder . build_log_exporter ( ) ?,
155
- self . log_config ,
157
+ self . resource ,
156
158
) )
157
159
}
158
160
@@ -168,7 +170,7 @@ impl OtlpLogPipeline<LogExporterBuilder> {
168
170
) -> Result < opentelemetry_sdk:: logs:: LoggerProvider , LogError > {
169
171
Ok ( build_batch_with_exporter (
170
172
self . exporter_builder . build_log_exporter ( ) ?,
171
- self . log_config ,
173
+ self . resource ,
172
174
runtime,
173
175
self . batch_config ,
174
176
) )
@@ -177,20 +179,21 @@ impl OtlpLogPipeline<LogExporterBuilder> {
177
179
178
180
fn build_simple_with_exporter (
179
181
exporter : LogExporter ,
180
- log_config : Option < opentelemetry_sdk :: logs :: Config > ,
182
+ resource : Option < Resource > ,
181
183
) -> opentelemetry_sdk:: logs:: LoggerProvider {
182
184
let mut provider_builder =
183
185
opentelemetry_sdk:: logs:: LoggerProvider :: builder ( ) . with_simple_exporter ( exporter) ;
184
- if let Some ( config ) = log_config {
185
- provider_builder = provider_builder. with_config ( config ) ;
186
+ if let Some ( resource ) = resource {
187
+ provider_builder = provider_builder. with_resource ( resource ) ;
186
188
}
187
- // logger would be created in the tracing appender
189
+ // logger would be created in the appenders like
190
+ // opentelemetry-appender-tracing, opentelemetry-appender-log etc.
188
191
provider_builder. build ( )
189
192
}
190
193
191
194
fn build_batch_with_exporter < R : RuntimeChannel > (
192
195
exporter : LogExporter ,
193
- log_config : Option < opentelemetry_sdk :: logs :: Config > ,
196
+ resource : Option < Resource > ,
194
197
runtime : R ,
195
198
batch_config : Option < opentelemetry_sdk:: logs:: BatchConfig > ,
196
199
) -> opentelemetry_sdk:: logs:: LoggerProvider {
@@ -200,8 +203,8 @@ fn build_batch_with_exporter<R: RuntimeChannel>(
200
203
. build ( ) ;
201
204
provider_builder = provider_builder. with_log_processor ( batch_processor) ;
202
205
203
- if let Some ( config ) = log_config {
204
- provider_builder = provider_builder. with_config ( config ) ;
206
+ if let Some ( resource ) = resource {
207
+ provider_builder = provider_builder. with_resource ( resource ) ;
205
208
}
206
209
// logger would be created in the tracing appender
207
210
provider_builder. build ( )
0 commit comments