Line data Source code
1 : /** \file text_log.hpp
2 : * \brief The MagAO-X logger text_log log type.
3 : * \author Jared R. Males (jaredmales@gmail.com)
4 : *
5 : * \ingroup logger_types_files
6 : *
7 : * History:
8 : * - 2018-08-18 created by JRM
9 : */
10 : #ifndef logger_types_text_log_hpp
11 : #define logger_types_text_log_hpp
12 :
13 : #include "string_log.hpp"
14 :
15 : namespace MagAOX
16 : {
17 : namespace logger
18 : {
19 :
20 : ///A simple text log, a string-type log.
21 : /** \ingroup logger_types
22 : */
23 : struct text_log : public string_log
24 : {
25 : ///The event code
26 : static const flatlogs::eventCodeT eventCode = eventCodes::TEXT_LOG;
27 :
28 : ///The default level
29 : static const flatlogs::logPrioT defaultLevel = flatlogs::logPrio::LOG_INFO;
30 :
31 : /// Get the logMetaDetail for a member by name
32 : /**
33 : * \returns the a logMetaDetail filled in with the appropriate details
34 : * \returns an empty logMetaDetail if member not recognized
35 : */
36 1 : static logMetaDetail getAccessor( const std::string &member /**< [in] the name of the member */ )
37 : {
38 1 : if( member == "message" )
39 : {
40 : return logMetaDetail( { "TEXT",
41 : "log message",
42 : logMeta::valTypes::String,
43 : logMeta::metaTypes::State,
44 : reinterpret_cast<void *>( &message ),
45 0 : false } );
46 : }
47 : else
48 : {
49 1 : std::cerr << "No member " << member << " in text_log\n";
50 1 : return logMetaDetail();
51 : }
52 : }
53 : };
54 :
55 :
56 :
57 : } //namespace logger
58 : } //namespace MagAOX
59 :
60 : #endif //logger_types_text_log_hpp
|