]> git.sesse.net Git - casparcg/commitdiff
Diagnostic logging now logs the contextual information channel and layer just as...
authorHelge Norberg <helge.norberg@svt.se>
Tue, 17 Nov 2015 13:20:15 +0000 (14:20 +0100)
committerHelge Norberg <helge.norberg@svt.se>
Tue, 17 Nov 2015 13:20:15 +0000 (14:20 +0100)
common/CMakeLists.txt
core/CMakeLists.txt
core/diagnostics/call_context.cpp
core/diagnostics/call_context.h
core/diagnostics/graph_to_log_sink.cpp [moved from common/diagnostics/graph_to_log_sink.cpp with 69% similarity]
core/diagnostics/graph_to_log_sink.h [moved from common/diagnostics/graph_to_log_sink.h with 90% similarity]
shell/server.cpp

index 755f28b482e498a7fef553600bdb0db297d1345b..3705885c259516ab12d2e3c0e30d782f52ee5115 100644 (file)
@@ -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
 
index 3828f434f05d8f3c2a3632c25b884e2dde1cb94f..98fdd7c8282286b307ae891e863218753caa43bd 100644 (file)
@@ -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
 
index b5cc0dbe97182a6a3d75bf4c6b63c45ffa92c27e..d68912bbf12f675598bb97608f99d4213d17a103 100644 (file)
@@ -24,6 +24,7 @@
 #include "call_context.h"
 
 #include <boost/thread/tss.hpp>
+#include <boost/lexical_cast.hpp>
 
 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<std::wstring>(video_channel) + L"]";
+       else
+               return L"[ch=" + boost::lexical_cast<std::wstring>(video_channel) + L"; layer=" + boost::lexical_cast<std::wstring>(layer) + L"]";
+}
+
 }}}
index 5db43db35d93b3cef8a1783ce4797fde18f42f2f..560b9a1e39f1589e256b9f6c902687b4a99d54dc 100644 (file)
@@ -21,6 +21,8 @@
 
 #pragma once
 
+#include <string>
+
 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
similarity index 69%
rename from common/diagnostics/graph_to_log_sink.cpp
rename to core/diagnostics/graph_to_log_sink.cpp
index 3f5a00fdc7fd6f4693c74f161164464171b28f85..f6634ce846527d6b1cb7e9e5ee9cf305945988da 100644 (file)
 
 #include "graph_to_log_sink.h"
 
-#include "../log.h"
+#include "call_context.h"
+
+#include <common/diagnostics/graph.h>
+#include <common/memory.h>
+#include <common/log.h>
 
 #include <tbb/spin_mutex.h>
 
-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<graph_to_log_sink>(); });
+       caspar::diagnostics::spi::register_sink_factory([] { return spl::make_shared<graph_to_log_sink>(); });
 }
 
-}}
+}}}
similarity index 90%
rename from common/diagnostics/graph_to_log_sink.h
rename to core/diagnostics/graph_to_log_sink.h
index 1a155993282e74e03fafa1437af3b59e063196ef..795d94bed227e13ca947901c44f6e080cc4295ed 100644 (file)
 
 #pragma once
 
-#include "../memory.h"
-#include "graph.h"
-
-namespace caspar { namespace diagnostics {
+namespace caspar { namespace core { namespace diagnostics {
 
 void register_graph_to_log_sink();
 
-}}
+}}}
index 1645d2d2c61ee1d58fceeaeedb7e0b296226d909..4cb769d71ae8c0a46a5bc85925aaf2a1ad2902c8 100644 (file)
@@ -32,7 +32,6 @@
 #include <common/utf.h>
 #include <common/memory.h>
 #include <common/polling_filesystem_monitor.h>
-#include <common/diagnostics/graph_to_log_sink.h>
 
 #include <core/video_channel.h>
 #include <core/video_format.h>
@@ -52,6 +51,7 @@
 #include <core/diagnostics/subject_diagnostics.h>
 #include <core/diagnostics/call_context.h>
 #include <core/diagnostics/osd_graph.h>
+#include <core/diagnostics/graph_to_log_sink.h>
 #include <core/system_info_provider.h>
 #include <core/help/help_repository.h>
 
@@ -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_);