Home | History | Annotate | Download | only in bsdiff
      1 // Copyright 2017 The Chromium OS Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "bsdiff/logging.h"
      6 
      7 #include <ctime>
      8 
      9 LogMessage::LogMessage(const char* file,
     10                        unsigned int line,
     11                        const char* severity)
     12     : LogMessage(file, line, severity, -1) {}
     13 
     14 
     15 LogMessage::LogMessage(const char* file,
     16                        unsigned int line,
     17                        const char* severity,
     18                        int error)
     19     : error_(error) {
     20   std::time_t t = std::time(nullptr);
     21   char timestamp[32];
     22   strftime(timestamp, sizeof(timestamp), "%m-%d %H:%M:%S", std::localtime(&t));
     23 
     24   stream_ << severity << " " << timestamp << " " << file << ":" << line << ": ";
     25 }
     26 
     27 LogMessage::~LogMessage() {
     28   if (error_ != -1) {
     29     stream_ << ": " << strerror(error_);
     30   }
     31   std::cerr << stream_.str() << std::endl;
     32 }
     33