fix8
version 1.4.0
Open Source C++ FIX Framework
|
A file logger. More...
#include <logger.hpp>
Public Member Functions | |
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() () |
virtual F8API void | process_logline (LogElement *le) |
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 () |
Protected Attributes | |
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 |
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 > |
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 357 of file logger.hpp.
FileLogger::FileLogger | ( | const std::string & | pathname, |
const LogFlags | flags, | ||
const Levels | levels, | ||
const std::string | delim = " " , |
||
const LogPositions | positions = LogPositions() , |
||
const unsigned | rotnum = rotation_default |
||
) |
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 255 of file logger.cpp.
References _pathname, and rotate().
|
inlinevirtual |
|
virtual |
Perform logfile rotation
force | force the rotation (even if the file is set ti append) |
Reimplemented from FIX8::Logger.
Definition at line 267 of file logger.cpp.
References FIX8::Logger::_flags, FIX8::Logger::_mutex, FIX8::Logger::_ofs, _pathname, _rotnum, FIX8::Logger::append, FIX8::Logger::compress, FIX8::create_path(), FIX8::exist(), filepart(), FIX8::ebitset< T, B >::has(), FIX8::Logger::max_rotation, and FIX8::split_path().
Referenced by FileLogger().
|
protected |
Definition at line 360 of file logger.hpp.
Referenced by FileLogger(), and rotate().
|
protected |
Definition at line 361 of file logger.hpp.
Referenced by rotate().