@@ -30,6 +30,13 @@ pub enum Verbosity {
3030}
3131
3232pub fn setup_tracing ( verbosity : Verbosity ) -> CliResult {
33+ setup_tracing_with_extra_directives ( verbosity, & [ ] )
34+ }
35+
36+ pub fn setup_tracing_with_extra_directives (
37+ verbosity : Verbosity ,
38+ extra_directives : & [ & str ] ,
39+ ) -> CliResult {
3340 use tracing:: { Event , Level , Subscriber } ;
3441 use tracing_indicatif:: style:: ProgressStyle ;
3542 use tracing_indicatif:: IndicatifLayer ;
@@ -75,10 +82,13 @@ pub fn setup_tracing(verbosity: Verbosity) -> CliResult {
7582
7683 match verbosity {
7784 Verbosity :: TeachMe => {
78- let env_filter = EnvFilter :: from_default_env ( )
85+ let mut env_filter = EnvFilter :: from_default_env ( )
7986 . add_directive ( tracing:: Level :: WARN . into ( ) )
8087 . add_directive ( "near_teach_me=info" . parse ( ) ?)
8188 . add_directive ( "near_cli_rs=info" . parse ( ) ?) ;
89+ for directive in extra_directives {
90+ env_filter = env_filter. add_directive ( directive. parse ( ) ?) ;
91+ }
8292 tracing_subscriber:: registry ( )
8393 . with ( tracing_subscriber:: fmt:: layer ( ) . event_format ( SimpleFormatter ) )
8494 . with ( env_filter)
@@ -94,9 +104,12 @@ pub fn setup_tracing(verbosity: Verbosity) -> CliResult {
94104 . tick_strings ( & [ "◐" , "◓" , "◑" , "◒" ] ) ,
95105 )
96106 . with_span_child_prefix_symbol ( "↳ " ) ;
97- let env_filter = EnvFilter :: from_default_env ( )
107+ let mut env_filter = EnvFilter :: from_default_env ( )
98108 . add_directive ( tracing:: Level :: WARN . into ( ) )
99109 . add_directive ( "near_cli_rs=info" . parse ( ) ?) ;
110+ for directive in extra_directives {
111+ env_filter = env_filter. add_directive ( directive. parse ( ) ?) ;
112+ }
100113 tracing_subscriber:: registry ( )
101114 . with (
102115 tracing_subscriber:: fmt:: layer ( )
0 commit comments