From df5daa045a87876ed9a8c733ab9e7cbab717b390 Mon Sep 17 00:00:00 2001 From: loki Date: Wed, 1 Apr 2020 18:01:13 +0200 Subject: [PATCH] Add a timestamp in front of the log --- sunshine/main.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/sunshine/main.cpp b/sunshine/main.cpp index bc64ce25..6d0e6e65 100644 --- a/sunshine/main.cpp +++ b/sunshine/main.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include "video.h" #include "input.h" @@ -23,6 +24,7 @@ #include "platform/common.h" extern "C" { #include +#include } using namespace std::literals; @@ -68,13 +70,19 @@ int main(int argc, char *argv[]) { return 0; } + if(config::sunshine.min_log_level >= 2) { + av_log_set_level(AV_LOG_QUIET); + } + sink = boost::make_shared(); boost::shared_ptr stream { &std::cout, NoDelete {} }; sink->locked_backend()->add_stream(stream); sink->set_filter(severity >= config::sunshine.min_log_level); - sink->set_formatter([severity="Severity"s](const bl::record_view &view, bl::formatting_ostream &os) { + sink->set_formatter([message="Message"s, severity="Severity"s](const bl::record_view &view, bl::formatting_ostream &os) { + constexpr int DATE_BUFFER_SIZE = 21 +2 +1; // Full string plus ": \0" + auto log_level = view.attribute_values()[severity].extract().get(); std::string_view log_type; @@ -99,7 +107,11 @@ int main(int argc, char *argv[]) { break; }; - os << log_type << view.attribute_values()["Message"].extract(); + char _date[DATE_BUFFER_SIZE]; + std::time_t t = std::time(nullptr); + strftime(_date, DATE_BUFFER_SIZE, "[%Y:%m:%d:%H:%M:%S]: ", std::localtime(&t)); + + os << _date << log_type << view.attribute_values()[message].extract(); }); bl::core::get()->add_sink(sink);