fix8
version 1.4.0
Open Source C++ FIX Framework
|
A file logger. More...
#include <logger.hpp>
Public Member Functions | |
F8API | XmlFileLogger (const std::string &pathname, const LogFlags flags, const Levels levels, const std::string delim=" ", const LogPositions positions=LogPositions(), const unsigned rotnum=rotation_default) |
void | preamble () |
Write the xml preamble. If you use rotate, you need to call this AFTER rotating. More... | |
void | postamble () |
Write the xml postamble. If you use rotate, you need to call this BEFORE rotating. More... | |
virtual | ~XmlFileLogger () |
Dtor. More... | |
virtual F8API void | process_logline (LogElement *le) |
Public Member Functions inherited from FIX8::FileLogger | |
F8API | FileLogger (const std::string &pathname, const LogFlags flags, const Levels levels, const std::string delim=" ", const LogPositions positions=LogPositions(), const unsigned rotnum=rotation_default) |
virtual | ~FileLogger () |
Dtor. More... | |
virtual F8API bool | rotate (bool force=false) |
Public Member Functions inherited from FIX8::Logger | |
Logger (const LogFlags flags, const Levels levels=Levels(All), const std::string delim=" ", const LogPositions positions=LogPositions()) | |
virtual | ~Logger () |
Dtor. More... | |
bool | is_loggable (Level level) const |
void | set_levels (Levels levels) |
void | set_flags (LogFlags flags) |
void | set_delimiter (const std::string &delim) |
void | set_positions (const std::vector< int > &positions) |
virtual std::ostream & | get_stream () const |
bool | enqueue (const std::string &what, Level lev=Logger::Info, const char *fl=nullptr, const unsigned val=0) |
bool | send (const std::string &what, Level lev=Logger::Info, const char *fl=nullptr, const unsigned val=0) |
void | stop () |
Stop the logging thread. More... | |
F8API int | operator() () |
bool | has_flag (const Flags flg) const |
F8API char | get_thread_code (thread_id_t tid) |
F8API void | purge_thread_codes () |
Remove dead threads from the thread code cache. More... | |
virtual F8API void | flush () |
Flush the buffer. More... | |
f8_thread_cancellation_token & | cancellation_token () |
Additional Inherited Members | |
Public Types inherited from FIX8::Logger | |
enum | Level { Debug, Info, Warn, Error, Fatal } |
enum | Flags { mstart, sstart, sequence, thread, timestamp, minitimestamp, direction, level, location, start_controls, append =start_controls, buffer, compress, pipe, broadcast, nolf, inbound, outbound, xml, num_flags } |
using | LogFlags = ebitset< Flags > |
using | Levels = ebitset< Level > |
using | LogPositions = std::vector< int > |
Static Public Member Functions inherited from FIX8::Logger | |
static const Tickval & | get_time_started () |
Static Public Attributes inherited from FIX8::Logger | |
static const int | Errors = bitsum(Warn,Error,Fatal) |
static const int | All = bitsum(Debug,Info,Warn,Error,Fatal) |
static const int | None = 0 |
static const int | StdFlags = bitsum(sequence,thread,timestamp,level) |
static const int | rotation_default = 5 |
static const int | max_rotation = 1024 |
static const std::vector< std::string > | _bit_names |
string representation of logflags More... | |
static const std::vector< std::string > | _level_names { "Debug", "Info ", "Warn ", "Error", "Fatal" } |
string representation of levels More... | |
Protected Types inherited from FIX8::Logger | |
using | ThreadCodes = std::map< thread_id_t, char > |
using | RevThreadCodes = std::map< char, thread_id_t > |
Protected Attributes inherited from FIX8::FileLogger | |
std::string | _pathname |
unsigned | _rotnum |
Protected Attributes inherited from FIX8::Logger | |
f8_mutex | _mutex |
f8_spin_lock | _log_spl |
LogFlags | _flags |
Levels | _levels |
std::string | _delim |
std::ostream * | _ofs = nullptr |
size_t | _lines = 0 |
f8_thread_cancellation_token | _stopping |
f8_concurrent_queue< LogElement > | _msg_queue |
unsigned | _sequence = 0 |
unsigned | _osequence = 0 |
ThreadCodes | _thread_codes |
RevThreadCodes | _rev_thread_codes |
LogPositions | _positions |
Static Protected Attributes inherited from FIX8::Logger | |
static const Tickval | _started { true } |
The time the entire logging system was start. More... | |
A file logger.
Definition at line 385 of file logger.hpp.
|
inline |
Ctor.
pathname | pathname to log to |
flags | ebitset flags |
levels | ebitset levels |
delim | field delimiter |
positions | field positions |
rotnum | number of logfile rotations to retain (default=5) |
Definition at line 396 of file logger.hpp.
References preamble().
|
inlinevirtual |
Dtor.
Definition at line 409 of file logger.hpp.
References postamble().
|
inline |
Write the xml postamble. If you use rotate, you need to call this BEFORE rotating.
Definition at line 406 of file logger.hpp.
References FIX8::Logger::get_stream().
Referenced by ~XmlFileLogger().
|
inline |
Write the xml preamble. If you use rotate, you need to call this AFTER rotating.
Definition at line 404 of file logger.hpp.
References FIX8::Logger::get_stream().
Referenced by XmlFileLogger().
|
virtual |
Process this logelement
le | LogElement |
Reimplemented from FIX8::Logger.
Definition at line 371 of file logger.cpp.
References FIX8::Logger::LogElement::_fileline, FIX8::Logger::_flags, FIX8::Logger::LogElement::_level, FIX8::Logger::_level_names, FIX8::Logger::_mutex, FIX8::Logger::_osequence, FIX8::Logger::_sequence, FIX8::Logger::_started, FIX8::Logger::LogElement::_str, FIX8::Logger::LogElement::_tid, FIX8::Logger::LogElement::_val, FIX8::Logger::LogElement::_when, FIX8::Logger::direction, FIX8::Logger::get_stream(), FIX8::Logger::get_thread_code(), FIX8::GetTimeAsStringMini(), FIX8::Logger::level, FIX8::Logger::location, FIX8::Logger::minitimestamp, FIX8::Tickval::msecs(), FIX8::Logger::mstart, FIX8::Tickval::secs(), FIX8::Logger::sequence, spacer, FIX8::Logger::sstart, FIX8::Logger::thread, and FIX8::Logger::timestamp.