]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@912 29311d96-e01e-0410-9327-a35deaab8ce9
authorsageweil <sageweil@29311d96-e01e-0410-9327-a35deaab8ce9>
Wed, 4 Oct 2006 18:38:21 +0000 (18:38 +0000)
committersageweil <sageweil@29311d96-e01e-0410-9327-a35deaab8ce9>
Wed, 4 Oct 2006 18:38:21 +0000 (18:38 +0000)
ceph/common/Logger.cc

index cd814033107cd829e9614803cc94aab55a3c750e..ac4a4c5bdaefe9c47fc722bee7e91f2e6df2059e 100644 (file)
@@ -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; i<type->keys.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; i<type->keys.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; i<type->keys.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; i<type->keys.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; i<type->keys.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; i<type->keys.size(); i++) {
+                       if (type->inc_keys.count(i)) {
+                               this->vals[i] = 0;
+                               this->fvals[i] = 0;
+                       }
+               }
   }
-
+       
   logger_lock.Unlock();
 }