Add -log-file=stderr and make it default

This commit is contained in:
Fangrui Song 2019-01-21 10:20:07 +08:00
parent 145b5bcdf7
commit 4f198f16dd
2 changed files with 7 additions and 4 deletions

View File

@ -72,6 +72,7 @@ Message::~Message() {
std::lock_guard<std::mutex> lock(mtx); std::lock_guard<std::mutex> lock(mtx);
stream_ << '\n'; stream_ << '\n';
fputs(stream_.str().c_str(), file); fputs(stream_.str().c_str(), file);
fflush(file);
if (verbosity_ == Verbosity_FATAL) if (verbosity_ == Verbosity_FATAL)
abort(); abort();
} }

View File

@ -59,7 +59,7 @@ opt<std::string> opt_index("index",
list<std::string> opt_init("init", desc("extra initialization options in JSON"), list<std::string> opt_init("init", desc("extra initialization options in JSON"),
cat(C)); cat(C));
opt<std::string> opt_log_file("log-file", desc("log"), value_desc("filename"), opt<std::string> opt_log_file("log-file", desc("log"), value_desc("filename"),
cat(C)); init("stderr"), cat(C));
opt<std::string> opt_log_file_append("log-file-append", desc("log"), opt<std::string> opt_log_file_append("log-file-append", desc("log"),
value_desc("filename"), cat(C)); value_desc("filename"), cat(C));
@ -96,9 +96,11 @@ int main(int argc, char **argv) {
bool language_server = true; bool language_server = true;
if (opt_log_file.size() || opt_log_file_append.size()) { if (opt_log_file.size() || opt_log_file_append.size()) {
ccls::log::file = opt_log_file.size() if (opt_log_file.size())
? fopen(opt_log_file.c_str(), "wb") ccls::log::file =
: fopen(opt_log_file_append.c_str(), "ab"); opt_log_file == "stderr" ? stderr : fopen(opt_log_file.c_str(), "wb");
else
ccls::log::file = fopen(opt_log_file_append.c_str(), "ab");
if (!ccls::log::file) { if (!ccls::log::file) {
fprintf( fprintf(
stderr, "failed to open %s\n", stderr, "failed to open %s\n",