blob: eb1a952b1440099767b32bb6a0f0ea4eb57afc82 [file] [log] [blame]
Tianjie Xu18480eb2017-11-29 16:21:43 -08001// 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
9LogMessage::LogMessage(const char* file,
10 unsigned int line,
11 const char* severity)
12 : LogMessage(file, line, severity, -1) {}
13
14
15LogMessage::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
27LogMessage::~LogMessage() {
28 if (error_ != -1) {
29 stream_ << ": " << strerror(error_);
30 }
31 std::cerr << stream_.str() << std::endl;
32}