@@ -18,7 +18,7 @@ use tracing_log::NormalizeEvent;
18
18
use tracing_subscriber:: {
19
19
fmt:: MakeWriter ,
20
20
layer:: { Context , Layer } ,
21
- registry:: LookupSpan ,
21
+ registry:: { self , LookupSpan } ,
22
22
} ;
23
23
24
24
pub ( crate ) struct Data {
@@ -46,7 +46,7 @@ impl Visit for Data {
46
46
#[ derive( Debug ) ]
47
47
pub struct HierarchicalLayer < W = fn ( ) -> io:: Stdout >
48
48
where
49
- W : MakeWriter + ' static ,
49
+ W : for < ' writer > MakeWriter < ' writer > + ' static ,
50
50
{
51
51
make_writer : W ,
52
52
bufs : Mutex < Buffers > ,
@@ -77,7 +77,7 @@ impl HierarchicalLayer<fn() -> io::Stdout> {
77
77
78
78
impl < W > HierarchicalLayer < W >
79
79
where
80
- W : MakeWriter + ' static ,
80
+ W : for < ' writer > MakeWriter < ' writer > + ' static ,
81
81
{
82
82
/// Enables terminal colors, boldness and italics.
83
83
pub fn with_ansi ( self , ansi : bool ) -> Self {
89
89
90
90
pub fn with_writer < W2 > ( self , make_writer : W2 ) -> HierarchicalLayer < W2 >
91
91
where
92
- W2 : MakeWriter + ' static ,
92
+ W2 : for < ' writer > MakeWriter < ' writer > ,
93
93
{
94
94
HierarchicalLayer {
95
95
make_writer,
@@ -221,10 +221,14 @@ where
221
221
let bufs = & mut * guard;
222
222
let mut current_buf = & mut bufs. current_buf ;
223
223
224
- // todo(david): i'm going to keep this for a bit since there's an odd discrepancy in counting
225
- // that i don't want to resolve rn lol
226
- #[ allow( deprecated) ]
227
- let indent = ctx. scope ( ) . count ( ) ;
224
+ let indent = ctx
225
+ . lookup_current ( )
226
+ . as_ref ( )
227
+ . map ( registry:: SpanRef :: scope)
228
+ . map ( registry:: Scope :: from_root)
229
+ . into_iter ( )
230
+ . flatten ( )
231
+ . count ( ) ;
228
232
229
233
if self . config . verbose_entry || matches ! ( style, SpanMode :: Open { .. } | SpanMode :: Event ) {
230
234
if self . config . targets {
@@ -274,9 +278,9 @@ where
274
278
impl < S , W > Layer < S > for HierarchicalLayer < W >
275
279
where
276
280
S : Subscriber + for < ' span > LookupSpan < ' span > + fmt:: Debug ,
277
- W : MakeWriter + ' static ,
281
+ W : for < ' writer > MakeWriter < ' writer > + ' static ,
278
282
{
279
- fn new_span ( & self , attrs : & Attributes , id : & Id , ctx : Context < S > ) {
283
+ fn on_new_span ( & self , attrs : & Attributes , id : & Id , ctx : Context < S > ) {
280
284
let data = Data :: new ( attrs) ;
281
285
let span = ctx. span ( id) . expect ( "in new_span but span does not exist" ) ;
282
286
span. extensions_mut ( ) . insert ( data) ;
@@ -297,7 +301,7 @@ where
297
301
298
302
fn on_event ( & self , event : & Event < ' _ > , ctx : Context < S > ) {
299
303
let mut guard = self . bufs . lock ( ) . unwrap ( ) ;
300
- let mut bufs = & mut * guard;
304
+ let bufs = & mut * guard;
301
305
let mut event_buf = & mut bufs. current_buf ;
302
306
303
307
// printing the indentation
@@ -362,10 +366,7 @@ where
362
366
. expect ( "Unable to write to buffer" ) ;
363
367
}
364
368
365
- let mut visitor = FmtEvent {
366
- comma : false ,
367
- bufs : & mut bufs,
368
- } ;
369
+ let mut visitor = FmtEvent { comma : false , bufs } ;
369
370
event. record ( & mut visitor) ;
370
371
visitor
371
372
. bufs
0 commit comments