From: Helge Norberg Date: Tue, 17 Nov 2015 13:20:15 +0000 (+0100) Subject: Diagnostic logging now logs the contextual information channel and layer just as... X-Git-Tag: 2.1.0_Beta1~191 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=76f0792219ea197dc69520fd2fa4841bbce8033e;p=casparcg Diagnostic logging now logs the contextual information channel and layer just as in osd diagnostics. --- diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 755f28b48..3705885c2 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -3,7 +3,6 @@ project (common) set(SOURCES diagnostics/graph.cpp - diagnostics/graph_to_log_sink.cpp gl/gl_check.cpp @@ -45,7 +44,6 @@ elseif (CMAKE_COMPILER_IS_GNUCXX) endif () set(HEADERS diagnostics/graph.h - diagnostics/graph_to_log_sink.h gl/gl_check.h diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index 3828f434f..98fdd7c82 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -7,6 +7,7 @@ set(SOURCES consumer/port.cpp diagnostics/call_context.cpp + diagnostics/graph_to_log_sink.cpp diagnostics/osd_graph.cpp diagnostics/subject_diagnostics.cpp @@ -61,6 +62,7 @@ set(HEADERS consumer/write_frame_consumer.h diagnostics/call_context.h + diagnostics/graph_to_log_sink.h diagnostics/osd_graph.h diagnostics/subject_diagnostics.h diff --git a/core/diagnostics/call_context.cpp b/core/diagnostics/call_context.cpp index b5cc0dbe9..d68912bbf 100644 --- a/core/diagnostics/call_context.cpp +++ b/core/diagnostics/call_context.cpp @@ -24,6 +24,7 @@ #include "call_context.h" #include +#include namespace caspar { namespace core { namespace diagnostics { @@ -42,4 +43,14 @@ call_context& call_context::for_thread() return *local; } +std::wstring call_context::to_string() const +{ + if (video_channel == -1) + return L"[]"; + else if (layer == -1) + return L"[ch=" + boost::lexical_cast(video_channel) + L"]"; + else + return L"[ch=" + boost::lexical_cast(video_channel) + L"; layer=" + boost::lexical_cast(layer) + L"]"; +} + }}} diff --git a/core/diagnostics/call_context.h b/core/diagnostics/call_context.h index 5db43db35..560b9a1e3 100644 --- a/core/diagnostics/call_context.h +++ b/core/diagnostics/call_context.h @@ -21,6 +21,8 @@ #pragma once +#include + namespace caspar { namespace core { namespace diagnostics { struct call_context @@ -29,6 +31,7 @@ struct call_context int layer = -1; static call_context& for_thread(); + std::wstring to_string() const; }; class scoped_call_context : boost::noncopyable diff --git a/common/diagnostics/graph_to_log_sink.cpp b/core/diagnostics/graph_to_log_sink.cpp similarity index 69% rename from common/diagnostics/graph_to_log_sink.cpp rename to core/diagnostics/graph_to_log_sink.cpp index 3f5a00fdc..f6634ce84 100644 --- a/common/diagnostics/graph_to_log_sink.cpp +++ b/core/diagnostics/graph_to_log_sink.cpp @@ -21,16 +21,21 @@ #include "graph_to_log_sink.h" -#include "../log.h" +#include "call_context.h" + +#include +#include +#include #include -namespace caspar { namespace diagnostics { +namespace caspar { namespace core { namespace diagnostics { -class graph_to_log_sink : public spi::graph_sink +class graph_to_log_sink : public caspar::diagnostics::spi::graph_sink { tbb::spin_mutex mutex_; std::wstring text_; + std::wstring context_ = call_context::for_thread().to_string(); public: void activate() override { @@ -50,17 +55,17 @@ public: { } - void set_tag(tag_severity severity, const std::string& name) override + void set_tag(caspar::diagnostics::tag_severity severity, const std::string& name) override { tbb::spin_mutex::scoped_lock lock(mutex_); - + switch (severity) { - case tag_severity::INFO: - CASPAR_LOG(trace) << L"[diagnostics] [" << text_ << L"] " << name; + case caspar::diagnostics::tag_severity::INFO: + CASPAR_LOG(trace) << L"[diagnostics] [" << text_ << L"] " << name << L" " << context_; break; - case tag_severity::WARNING: - CASPAR_LOG(debug) << L"[diagnostics] [" << text_ << L"] " << name; + case caspar::diagnostics::tag_severity::WARNING: + CASPAR_LOG(debug) << L"[diagnostics] [" << text_ << L"] " << name << L" " << context_; break; } } @@ -72,7 +77,7 @@ public: void register_graph_to_log_sink() { - spi::register_sink_factory([] { return spl::make_shared(); }); + caspar::diagnostics::spi::register_sink_factory([] { return spl::make_shared(); }); } -}} +}}} diff --git a/common/diagnostics/graph_to_log_sink.h b/core/diagnostics/graph_to_log_sink.h similarity index 90% rename from common/diagnostics/graph_to_log_sink.h rename to core/diagnostics/graph_to_log_sink.h index 1a1559932..795d94bed 100644 --- a/common/diagnostics/graph_to_log_sink.h +++ b/core/diagnostics/graph_to_log_sink.h @@ -21,11 +21,8 @@ #pragma once -#include "../memory.h" -#include "graph.h" - -namespace caspar { namespace diagnostics { +namespace caspar { namespace core { namespace diagnostics { void register_graph_to_log_sink(); -}} +}}} diff --git a/shell/server.cpp b/shell/server.cpp index 1645d2d2c..4cb769d71 100644 --- a/shell/server.cpp +++ b/shell/server.cpp @@ -32,7 +32,6 @@ #include #include #include -#include #include #include @@ -52,6 +51,7 @@ #include #include #include +#include #include #include @@ -151,7 +151,7 @@ struct server::impl : boost::noncopyable , shutdown_server_now_(shutdown_server_now) { running_ = false; - caspar::diagnostics::register_graph_to_log_sink(); + core::diagnostics::register_graph_to_log_sink(); caspar::core::diagnostics::osd::register_sink(); diag_subject_->attach_parent(monitor_subject_);