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