mirror of
				https://github.com/MaskRay/ccls.git
				synced 2025-11-04 06:15:20 +00:00 
			
		
		
		
	Add -log-file=stderr and make it default
Change -log-file-append to a boolean flag
This commit is contained in:
		
							parent
							
								
									c37417b436
								
							
						
					
					
						commit
						d556a0803b
					
				@ -60,6 +60,7 @@ Message::~Message() {
 | 
			
		||||
  std::lock_guard<std::mutex> lock(mtx);
 | 
			
		||||
  stream_ << '\n';
 | 
			
		||||
  fputs(stream_.str().c_str(), file);
 | 
			
		||||
  fflush(file);
 | 
			
		||||
  if (verbosity_ == Verbosity_FATAL)
 | 
			
		||||
    abort();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										19
									
								
								src/main.cc
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								src/main.cc
									
									
									
									
									
								
							@ -46,10 +46,10 @@ opt<std::string> opt_index("index",
 | 
			
		||||
                           value_desc("root"), cat(C));
 | 
			
		||||
list<std::string> opt_init("init", desc("extra initialization options in JSON"),
 | 
			
		||||
                           cat(C));
 | 
			
		||||
opt<std::string> opt_log_file("log-file", desc("log"), value_desc("filename"),
 | 
			
		||||
opt<std::string> opt_log_file("log-file", desc("stderr or log file"),
 | 
			
		||||
                              value_desc("file"), init("stderr"), cat(C));
 | 
			
		||||
opt<bool> opt_log_file_append("log-file-append", desc("append to log file"),
 | 
			
		||||
                              cat(C));
 | 
			
		||||
opt<std::string> opt_log_file_append("log-file-append", desc("log"),
 | 
			
		||||
                                     value_desc("filename"), cat(C));
 | 
			
		||||
 | 
			
		||||
void CloseLog() { fclose(ccls::log::file); }
 | 
			
		||||
 | 
			
		||||
@ -83,14 +83,13 @@ int main(int argc, char **argv) {
 | 
			
		||||
 | 
			
		||||
  bool language_server = true;
 | 
			
		||||
 | 
			
		||||
  if (opt_log_file.size() || opt_log_file_append.size()) {
 | 
			
		||||
    ccls::log::file = opt_log_file.size()
 | 
			
		||||
                          ? fopen(opt_log_file.c_str(), "wb")
 | 
			
		||||
                          : fopen(opt_log_file_append.c_str(), "ab");
 | 
			
		||||
  if (opt_log_file.size()) {
 | 
			
		||||
    ccls::log::file =
 | 
			
		||||
        opt_log_file == "stderr"
 | 
			
		||||
            ? stderr
 | 
			
		||||
            : fopen(opt_log_file.c_str(), opt_log_file_append ? "ab" : "wb");
 | 
			
		||||
    if (!ccls::log::file) {
 | 
			
		||||
      fprintf(
 | 
			
		||||
          stderr, "failed to open %s\n",
 | 
			
		||||
          (opt_log_file.size() ? opt_log_file : opt_log_file_append).c_str());
 | 
			
		||||
      fprintf(stderr, "failed to open %s\n", opt_log_file.c_str());
 | 
			
		||||
      return 2;
 | 
			
		||||
    }
 | 
			
		||||
    setbuf(ccls::log::file, NULL);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user