aboutsummaryrefslogtreecommitdiff
path: root/crates/rust-analyzer/src/bin/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/rust-analyzer/src/bin/main.rs')
-rw-r--r--crates/rust-analyzer/src/bin/main.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/crates/rust-analyzer/src/bin/main.rs b/crates/rust-analyzer/src/bin/main.rs
index 97b246a32..4175e569e 100644
--- a/crates/rust-analyzer/src/bin/main.rs
+++ b/crates/rust-analyzer/src/bin/main.rs
@@ -68,10 +68,32 @@ fn setup_logging(log_file: Option<PathBuf>) -> Result<()> {
68 let filter = env::var("RA_LOG").ok(); 68 let filter = env::var("RA_LOG").ok();
69 logger::Logger::new(log_file, filter.as_deref()).install(); 69 logger::Logger::new(log_file, filter.as_deref()).install();
70 70
71 tracing_setup::setup_tracing()?;
72
71 profile::init(); 73 profile::init();
72 Ok(()) 74 Ok(())
73} 75}
74 76
77mod tracing_setup {
78 use tracing::subscriber;
79 use tracing_subscriber::layer::SubscriberExt;
80 use tracing_subscriber::EnvFilter;
81 use tracing_subscriber::Registry;
82 use tracing_tree::HierarchicalLayer;
83
84 pub fn setup_tracing() -> super::Result<()> {
85 let filter = EnvFilter::from_env("CHALK_DEBUG");
86 let layer = HierarchicalLayer::default()
87 .with_indent_lines(true)
88 .with_ansi(false)
89 .with_indent_amount(2)
90 .with_writer(std::io::stderr);
91 let subscriber = Registry::default().with(filter).with(layer);
92 subscriber::set_global_default(subscriber)?;
93 Ok(())
94 }
95}
96
75fn run_server() -> Result<()> { 97fn run_server() -> Result<()> {
76 log::info!("server will start"); 98 log::info!("server will start");
77 99