@@ -187,7 +187,7 @@ mod kv {
187187 value : log:: kv:: Value < ' kvs > ,
188188 ) -> Result < ( ) , log:: kv:: Error > {
189189 self . 0
190- . serialize_entry ( key. as_str ( ) , & value. to_string ( ) )
190+ . serialize_entry ( key. as_str ( ) , & value)
191191 . map_err ( |e| log:: kv:: Error :: boxed ( e. to_string ( ) ) ) ?;
192192 Ok ( ( ) )
193193 }
@@ -211,7 +211,7 @@ mod kv {
211211mod test {
212212 #[ cfg( feature = "chrono" ) ]
213213 use chrono:: { DateTime , Local } ;
214- use log:: Level ;
214+ use log:: { Level , Record } ;
215215
216216 use super :: * ;
217217 use crate :: encode:: writer:: simple:: SimpleWriter ;
@@ -230,6 +230,15 @@ mod test {
230230 let thread = "encode::json::test::default" ;
231231 log_mdc:: insert ( "foo" , "bar" ) ;
232232
233+ #[ cfg( feature = "log_kv" ) ]
234+ #[ derive( serde:: Serialize ) ]
235+ struct SerdeValue {
236+ id : u32 ,
237+ }
238+
239+ #[ cfg( feature = "log_kv" ) ]
240+ let serde_value = SerdeValue { id : 42 } ;
241+
233242 let encoder = JsonEncoder :: new ( ) ;
234243
235244 let mut record_builder = Record :: builder ( ) ;
@@ -241,19 +250,25 @@ mod test {
241250 . line ( Some ( line) ) ;
242251
243252 #[ cfg( feature = "log_kv" ) ]
244- record_builder. key_values ( & [ ( "log_foo" , "log_bar" ) ] ) ;
253+ let kvs = [
254+ ( "log_foo" , log:: kv:: Value :: from ( "log_bar" ) ) ,
255+ ( "serde_val" , log:: kv:: Value :: from_serde ( & serde_value) ) ,
256+ ] ;
257+ #[ cfg( feature = "log_kv" ) ]
258+ record_builder. key_values ( & kvs) ;
245259
246260 let mut buf = vec ! [ ] ;
247261 encoder
248262 . encode_inner (
249263 & mut SimpleWriter ( & mut buf) ,
250264 time,
251- & record_builder. args ( format_args ! ( "{}" , message ) ) . build ( ) ,
265+ & record_builder. args ( format_args ! ( "{message}" ) ) . build ( ) ,
252266 )
253267 . unwrap ( ) ;
254268
255269 #[ cfg( feature = "log_kv" ) ]
256- let expected_attributes = ",\" attributes\" :{\" log_foo\" :\" log_bar\" }" ;
270+ let expected_attributes =
271+ ",\" attributes\" :{\" log_foo\" :\" log_bar\" ,\" serde_val\" :{\" id\" :42}}" ;
257272 #[ cfg( not( feature = "log_kv" ) ) ]
258273 let expected_attributes = "" ;
259274
0 commit comments