MCPcopy Create free account
hub / github.com/MaskRay/ccls / Message

Method Message

src/log.cc:20–53  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

18Verbosity verbosity;
19
20Message::Message(Verbosity verbosity, const char *file, int line) : verbosity_(verbosity) {
21 using namespace llvm;
22 time_t tim = time(NULL);
23 struct tm t;
24 {
25 std::lock_guard<std::mutex> lock(mtx);
26 t = *localtime(&tim);
27 }
28 char buf[16];
29 snprintf(buf, sizeof buf, "%02d:%02d:%02d ", t.tm_hour, t.tm_min, t.tm_sec);
30 stream_ << buf;
31 {
32 SmallString<32> name;
33 get_thread_name(name);
34 stream_ << std::left << std::setw(13) << name.c_str();
35 }
36 {
37 const char *p = strrchr(file, '/');
38 if (p)
39 file = p + 1;
40 stream_ << std::right << std::setw(15) << file << ':' << std::left << std::setw(3) << line;
41 }
42 stream_ << ' ';
43 // clang-format off
44 switch (verbosity_) {
45 case Verbosity_FATAL: stream_ << 'F'; break;
46 case Verbosity_ERROR: stream_ << 'E'; break;
47 case Verbosity_WARNING: stream_ << 'W'; break;
48 case Verbosity_INFO: stream_ << 'I'; break;
49 default: stream_ << "V(" << int(verbosity_) << ')';
50 }
51 // clang-format on
52 stream_ << ' ';
53}
54
55Message::~Message() {
56 if (!file)

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected