summaryrefslogtreecommitdiff
path: root/implementation/logging/include/dlt_sink_backend.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'implementation/logging/include/dlt_sink_backend.hpp')
-rw-r--r--implementation/logging/include/dlt_sink_backend.hpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/implementation/logging/include/dlt_sink_backend.hpp b/implementation/logging/include/dlt_sink_backend.hpp
new file mode 100644
index 0000000..1b7fd09
--- /dev/null
+++ b/implementation/logging/include/dlt_sink_backend.hpp
@@ -0,0 +1,44 @@
+// Copyright (C) 2014-2015 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
+// This Source Code Form is subject to the terms of the Mozilla Public
+// License, v. 2.0. If a copy of the MPL was not distributed with this
+// file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#ifndef LOGGING_INCLUDE_DLT_SINK_BACKEND_HPP_
+#define LOGGING_INCLUDE_DLT_SINK_BACKEND_HPP_
+
+#ifdef USE_DLT
+#include <dlt/dlt.h>
+#endif
+
+#include <boost/log/core.hpp>
+#include <boost/log/sinks/basic_sink_backend.hpp>
+#include <boost/log/trivial.hpp>
+
+namespace logging = boost::log;
+namespace sinks = boost::log::sinks;
+
+namespace vsomeip
+{
+
+class dlt_sink_backend :
+ public sinks::basic_sink_backend<
+ sinks::combine_requirements<
+ sinks::synchronized_feeding
+ >::type
+ > {
+public:
+ dlt_sink_backend();
+ virtual ~dlt_sink_backend();
+
+ void consume(const logging::record_view &rec);
+
+private:
+#ifdef USE_DLT
+ DltLogLevelType level_as_dlt(logging::trivial::severity_level _level);
+ DLT_DECLARE_CONTEXT(dlt_);
+#endif
+};
+
+} /* namespace vsomeip */
+
+#endif /* LOGGING_INCLUDE_DLT_SINK_BACKEND_HPP_ */