File tree Expand file tree Collapse file tree 3 files changed +32
-4
lines changed
crates/bitwarden-logging/src/wasm Expand file tree Collapse file tree 3 files changed +32
-4
lines changed Original file line number Diff line number Diff line change 1+ use wasm_bindgen:: prelude:: * ;
2+
3+ #[ wasm_bindgen]
4+ pub struct FieldValue {
5+ pub ( crate ) name : String ,
6+ pub ( crate ) value : String ,
7+ }
8+
9+ #[ wasm_bindgen]
10+ impl FieldValue {
11+ #[ wasm_bindgen( constructor) ]
12+ pub fn new ( name : String , value : String ) -> Self {
13+ Self { name, value }
14+ }
15+ }
Original file line number Diff line number Diff line change 11mod event;
2+ mod field;
23mod level;
34mod span;
45
56pub use event:: * ;
7+ pub use field:: * ;
68pub use level:: * ;
79pub use span:: * ;
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ use wasm_bindgen::prelude::*;
33
44use crate :: {
55 dynamic_tracing:: span_factory:: SpanFactory ,
6- wasm:: { EventDefinition , level:: TracingLevel } ,
6+ wasm:: { EventDefinition , FieldValue , level:: TracingLevel } ,
77} ;
88
99#[ wasm_bindgen]
@@ -22,8 +22,11 @@ impl SpanDefinition {
2222 }
2323
2424 // TODO: Add fields
25- pub fn enter ( & self ) -> Span {
25+ pub fn enter ( & self , fields : Vec < FieldValue > ) -> Span {
2626 let span = self . factory . create ( ) . build ( ) ;
27+ for field in fields {
28+ span. record ( field. name . as_str ( ) , & field. value ) ;
29+ }
2730 Span :: new ( span)
2831 }
2932}
@@ -43,8 +46,16 @@ impl Span {
4346
4447#[ wasm_bindgen]
4548impl Span {
46- pub fn record ( & self , event : & EventDefinition , message : String ) {
47- event. record ( self . span . id ( ) , message) ;
49+ pub fn record ( & self , event : & EventDefinition , message : Option < String > ) {
50+ event. record (
51+ self . span . id ( ) ,
52+ message. unwrap_or_else ( || {
53+ self . span
54+ . metadata ( )
55+ . map ( |m| m. name ( ) . to_owned ( ) )
56+ . unwrap_or_default ( )
57+ } ) ,
58+ ) ;
4859 }
4960
5061 // Does not work yet due to wasm-bindgen-futures issues
You can’t perform that action at this time.
0 commit comments