@@ -16,7 +16,7 @@ mod tests {
16
16
use super :: * ;
17
17
use crate :: testing:: logs:: InMemoryLogsExporter ;
18
18
use opentelemetry:: logs:: { LogRecord , Logger , LoggerProvider as _, Severity } ;
19
- use opentelemetry:: { logs:: AnyValue , Key } ;
19
+ use opentelemetry:: { logs:: AnyValue , Key , KeyValue } ;
20
20
21
21
#[ test]
22
22
fn logging_sdk_test ( ) {
@@ -55,4 +55,46 @@ mod tests {
55
55
. expect ( "Attributes are expected" ) ;
56
56
assert_eq ! ( attributes. len( ) , 2 ) ;
57
57
}
58
+
59
+ #[ test]
60
+ fn logger_attributes ( ) {
61
+ let provider = LoggerProvider :: builder ( ) . build ( ) ;
62
+ let logger = provider
63
+ . logger_builder ( "test_logger" )
64
+ . with_schema_url ( "https://opentelemetry.io/schema/1.0.0" )
65
+ . with_attributes ( vec ! [ ( KeyValue :: new( "test_k" , "test_v" ) ) ] )
66
+ . build ( ) ;
67
+ let instrumentation_library = logger. instrumentation_library ( ) ;
68
+ let attributes = & instrumentation_library. attributes ;
69
+ assert_eq ! ( instrumentation_library. name, "test_logger" ) ;
70
+ assert_eq ! (
71
+ instrumentation_library. schema_url,
72
+ Some ( "https://opentelemetry.io/schema/1.0.0" . into( ) )
73
+ ) ;
74
+ assert_eq ! ( attributes. len( ) , 1 ) ;
75
+ assert_eq ! ( attributes[ 0 ] . key, "test_k" . into( ) ) ;
76
+ assert_eq ! ( attributes[ 0 ] . value, "test_v" . into( ) ) ;
77
+ }
78
+
79
+ #[ test]
80
+ #[ allow( deprecated) ]
81
+ fn versioned_logger_options ( ) {
82
+ let provider = LoggerProvider :: builder ( ) . build ( ) ;
83
+ let logger = provider. versioned_logger (
84
+ "test_logger" ,
85
+ Some ( "v1.2.3" . into ( ) ) ,
86
+ Some ( "https://opentelemetry.io/schema/1.0.0" . into ( ) ) ,
87
+ Some ( vec ! [ ( KeyValue :: new( "test_k" , "test_v" ) ) ] ) ,
88
+ ) ;
89
+ let instrumentation_library = logger. instrumentation_library ( ) ;
90
+ let attributes = & instrumentation_library. attributes ;
91
+ assert_eq ! ( instrumentation_library. version, Some ( "v1.2.3" . into( ) ) ) ;
92
+ assert_eq ! (
93
+ instrumentation_library. schema_url,
94
+ Some ( "https://opentelemetry.io/schema/1.0.0" . into( ) )
95
+ ) ;
96
+ assert_eq ! ( attributes. len( ) , 1 ) ;
97
+ assert_eq ! ( attributes[ 0 ] . key, "test_k" . into( ) ) ;
98
+ assert_eq ! ( attributes[ 0 ] . value, "test_v" . into( ) ) ;
99
+ }
58
100
}
0 commit comments