strusTrace  0.17
traceLoggerInterface.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016 Patrick P. Frey
3  *
4  * This Source Code Form is subject to the terms of the Mozilla Public
5  * License, v. 2.0. If a copy of the MPL was not distributed with this
6  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
7  */
10 #ifndef _STRUS_TRACE_LOGGER_INTERFACE_HPP_INCLUDED
11 #define _STRUS_TRACE_LOGGER_INTERFACE_HPP_INCLUDED
12 #include "strus/traceElement.hpp"
13 #include <string>
14 #include <vector>
15 
16 namespace strus
17 {
18 
21 {
22 public:
25 
31  virtual TraceLogRecordHandle
33  const char* className,
34  const char* methodName,
35  const TraceObjectId& objId)=0;
36 
40  virtual void logMethodTermination(
41  const TraceLogRecordHandle& loghnd,
42  const std::vector<TraceElement>& parameter)=0;
43 
45  virtual bool close()=0;
46 };
47 
48 }//namespace
49 #endif
50 
std::size_t TraceLogRecordHandle
Handle of a trace log entry.
Definition: traceElement.hpp:21
virtual bool close()=0
Terminate logging, flush data logged to storage.
unsigned int TraceObjectId
Unique object identifier.
Definition: traceElement.hpp:19
virtual ~TraceLoggerInterface()
Destructor.
Definition: traceLoggerInterface.hpp:24
virtual TraceLogRecordHandle logMethodCall(const char *className, const char *methodName, const TraceObjectId &objId)=0
Writes an entry to the method call log.
virtual void logMethodTermination(const TraceLogRecordHandle &loghnd, const std::vector< TraceElement > &parameter)=0
Log the termination of a method call.
Element type used to describe traced structures.
Interface providing a storage object builder interface with tracing and querying of traces...
Definition: traceLoggerInterface.hpp:20