From 09abb39b47de1d27631e3dd9465a3c82dcc898f9 Mon Sep 17 00:00:00 2001 From: sageweil Date: Wed, 4 Oct 2006 18:38:21 +0000 Subject: [PATCH] git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@912 29311d96-e01e-0410-9327-a35deaab8ce9 --- ceph/common/Logger.cc | 156 +++++++++++++++++++++--------------------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/ceph/common/Logger.cc b/ceph/common/Logger.cc index cd814033107cd..ac4a4c5bdaefe 100644 --- a/ceph/common/Logger.cc +++ b/ceph/common/Logger.cc @@ -1,4 +1,4 @@ -// -*- mode:C++; tab-width:4; c-basic-offset:2; indent-tabs-mode:t -*- +// -*- mode:C++; tab-width:2; c-basic-offset:2; indent-tabs-mode:t -*- /* * Ceph - scalable distributed file system * @@ -34,24 +34,24 @@ Logger::Logger(string fn, LogType *type) { logger_lock.Lock(); { - filename = "log/"; - if (g_conf.log_name) { - filename += g_conf.log_name; - ::mkdir( filename.c_str(), 0755 ); // make sure dir exists - filename += "/"; - } - filename += fn; - //cout << "log " << filename << endl; - interval = g_conf.log_interval; - - start = g_clock.now(); // time 0! - last_logged = 0; - wrote_header = -1; - open = false; - this->type = type; - wrote_header_last = 0; - - version = 0; + filename = "log/"; + if (g_conf.log_name) { + filename += g_conf.log_name; + ::mkdir( filename.c_str(), 0755 ); // make sure dir exists + filename += "/"; + } + filename += fn; + //cout << "log " << filename << endl; + interval = g_conf.log_interval; + + start = g_clock.now(); // time 0! + last_logged = 0; + wrote_header = -1; + open = false; + this->type = type; + wrote_header_last = 0; + + version = 0; } logger_lock.Unlock(); flush(false); @@ -121,7 +121,7 @@ long Logger::get(const char* key) int i = type->lookup_key(key); long r = 0; if (i >= 0 && (int)vals.size() > i) - r = vals[i]; + r = vals[i]; logger_lock.Unlock(); return r; } @@ -130,74 +130,74 @@ void Logger::flush(bool force) { if (!g_conf.log) return; logger_lock.Lock(); - + if (version != type->version) { - while (type->keys.size() > vals.size()) - vals.push_back(0); - while (type->keys.size() > fvals.size()) - fvals.push_back(0); - version = type->version; + while (type->keys.size() > vals.size()) + vals.push_back(0); + while (type->keys.size() > fvals.size()) + fvals.push_back(0); + version = type->version; } - + if (!open) { - out.open(filename.c_str(), ofstream::out); - open = true; - //cout << "opening log file " << filename << endl; + out.open(filename.c_str(), ofstream::out); + open = true; + //cout << "opening log file " << filename << endl; } - + utime_t fromstart = g_clock.now(); if (fromstart < start) { - cerr << "logger time jumped backwards from " << start << " to " << fromstart << endl; - assert(0); - start = fromstart; + cerr << "logger time jumped backwards from " << start << " to " << fromstart << endl; + assert(0); + start = fromstart; } fromstart -= start; - + while (force || - ((fromstart.sec() > last_logged) && - (fromstart.sec() - last_logged >= interval))) { - last_logged += interval; - force = false; - - //cout << "logger " << this << " advancing from " << last_logged << " now " << now << endl; - - if (!open) { - out.open(filename.c_str(), ofstream::out); - open = true; - //cout << "opening log file " << filename << endl; - } - - // header? - wrote_header_last++; - if (wrote_header != type->version || - wrote_header_last > 10) { - out << "#" << type->keymap.size(); - for (unsigned i=0; ikeys.size(); i++) - out << "\t" << type->keys[i]; - out << endl; //out << "\t (" << type->keymap.size() << ")" << endl; - wrote_header = type->version; - wrote_header_last = 0; - } - - // write line to log - out << last_logged; - for (unsigned i=0; ikeys.size(); i++) { - if (fvals[i] > 0 && vals[i] == 0) - out << "\t" << fvals[i]; - else - out << "\t" << vals[i]; - } - out << endl; - - // reset the counters - for (unsigned i=0; ikeys.size(); i++) { - if (type->inc_keys.count(i)) { - this->vals[i] = 0; - this->fvals[i] = 0; - } - } + ((fromstart.sec() > last_logged) && + (fromstart.sec() - last_logged >= interval))) { + last_logged += interval; + force = false; + + //cout << "logger " << this << " advancing from " << last_logged << " now " << now << endl; + + if (!open) { + out.open(filename.c_str(), ofstream::out); + open = true; + //cout << "opening log file " << filename << endl; + } + + // header? + wrote_header_last++; + if (wrote_header != type->version || + wrote_header_last > 10) { + out << "#" << type->keymap.size(); + for (unsigned i=0; ikeys.size(); i++) + out << "\t" << type->keys[i]; + out << endl; //out << "\t (" << type->keymap.size() << ")" << endl; + wrote_header = type->version; + wrote_header_last = 0; + } + + // write line to log + out << last_logged; + for (unsigned i=0; ikeys.size(); i++) { + if (fvals[i] > 0 && vals[i] == 0) + out << "\t" << fvals[i]; + else + out << "\t" << vals[i]; + } + out << endl; + + // reset the counters + for (unsigned i=0; ikeys.size(); i++) { + if (type->inc_keys.count(i)) { + this->vals[i] = 0; + this->fvals[i] = 0; + } + } } - + logger_lock.Unlock(); } -- 2.39.5