284: By default, log only to stderr, and not to disk. r=matklad a=eminence

This fixes a common problem when running under VS Code, the user doesn't have permissions to create a `log` directory in the CWD.

The old behavior can be re-enabled by setting `RA_INTERNAL_MODE=1`

Fixes #282

Co-authored-by: Andrew Chin <achin@eminence32.net>
This commit is contained in:
bors[bot] 2018-12-18 07:01:52 +00:00
commit 4a1ab869b7

View file

@ -6,11 +6,11 @@ use ra_lsp_server::Result;
fn main() -> Result<()> { fn main() -> Result<()> {
::std::env::set_var("RUST_BACKTRACE", "short"); ::std::env::set_var("RUST_BACKTRACE", "short");
Logger::with_env_or_str("error") let logger = Logger::with_env_or_str("error").duplicate_to_stderr(Duplicate::All);
.duplicate_to_stderr(Duplicate::All) match ::std::env::var("RA_INTERNAL_MODE") {
.log_to_file() Ok(ref v) if v == "1" => logger.log_to_file().directory("log").start()?,
.directory("log") _ => logger.start()?,
.start()?; };
log::info!("lifecycle: server started"); log::info!("lifecycle: server started");
match ::std::panic::catch_unwind(main_inner) { match ::std::panic::catch_unwind(main_inner) {
Ok(res) => { Ok(res) => {