feisty meow concerns codebase
2.140
|
combines a file_logger with a console logger, behaving like the 'tee' command. More...
#include <combo_logger.h>
Public Member Functions | |
combo_logger (const basis::astring &filename, int limit=DEFAULT_LOG_FILE_SIZE, stream_choices log_target=TO_STDOUT) | |
virtual | ~combo_logger () |
DEFINE_CLASS_NAME ("combo_logger") | |
virtual basis::outcome | log (const basis::base_string &info, int filter=basis::ALWAYS_PRINT) |
sends the string "info" to the standard output device. More... | |
virtual void | add_filter (int new_filter) |
Adds a member to the filter set. More... | |
virtual void | remove_filter (int old_filter) |
Removes a member from the filter set. More... | |
virtual void | clear_filters () |
Resets the filter set to be empty. More... | |
virtual void | eol (textual::parser_bits::line_ending to_set) |
modifies how line endings are to be printed. More... | |
Public Member Functions inherited from loggers::file_logger | |
file_logger () | |
creates a logger without a log file and with the default size limit. More... | |
file_logger (const basis::astring &filename, int limit=DEFAULT_LOG_FILE_SIZE) | |
constructs a logger using the "filename" for output. More... | |
virtual | ~file_logger () |
DEFINE_CLASS_NAME ("file_logger") | |
bool | good () const |
returns true if the logger appears correctly hooked up to a file. More... | |
bool | reopen () |
closes the current file and attempts to reopen it. More... | |
basis::outcome | log (const basis::base_string &info, int filter=basis::ALWAYS_PRINT) |
writes information to the log file (if the filename is valid). More... | |
basis::outcome | log_bytes (const basis::byte_array &to_log, int filter=basis::ALWAYS_PRINT) |
sends a stream of bytes "to_log" without interpretation into the log. More... | |
basis::outcome | format_bytes (const basis::byte_array &to_log, int filter=basis::ALWAYS_PRINT) |
fancifully formats a stream of bytes "to_log" and sends them into log. More... | |
basis::astring | name () const |
observes the filename where logged information is written. More... | |
void | name (const basis::astring &new_name) |
modifies the filename where logged information will be written. More... | |
int | limit () const |
observes the allowable size of the log file. More... | |
void | limit (int new_limit) |
modifies the allowable size of the log file. More... | |
void | flush () |
causes any pending writes to be sent to the output file. More... | |
void | truncate (size_t new_size) |
chops the file to ensure it doesn't go much over the file size limit. More... | |
Public Member Functions inherited from basis::nameable | |
virtual const char * | class_name () const =0 |
Returns the bare name of this class as a constant character pointer. More... | |
Public Member Functions inherited from loggers::filter_set | |
filter_set () | |
Constructs an empty set of filters. More... | |
virtual | ~filter_set () |
filter_set (const structures::set< int > &to_copy) | |
Constructs a copy of the "to_copy" array. More... | |
DEFINE_CLASS_NAME ("filter_set") | |
virtual bool | member (int filter_to_check) |
Returns true if the "filter_to_check" is a member of the filter set. More... | |
Public Member Functions inherited from structures::set< int > | |
set (int num=0, const int *init=NULL_POINTER, basis::un_short flags=basis::array< int >::EXPONE) | |
Constructs a set with "num" elements, copying them from "init". More... | |
~set () | |
Destroys any storage held for the set. More... | |
int | elements () const |
Returns the number of elements in this set. More... | |
bool | empty () const |
Returns true if the set has no elements. More... | |
bool | non_empty () const |
Returns true if the set has some elements. More... | |
void | clear () |
Empties out this set. More... | |
bool | member (const int &to_test) const |
Returns true if the item "to_test" is a member of this set. More... | |
bool | add (const int &to_add) |
Adds a new element "to_add" to the set. More... | |
set & | operator+= (const int &to_add) |
An algebraic operator synonym for add() that operates on the contents. More... | |
set & | operator+= (const set &to_add) |
An algebraic operator synonym for add() that operates on a set. More... | |
bool | remove (const int &to_remove) |
Removes the item "to_remove" from the set. More... | |
set & | operator-= (const int &to_zap) |
An algebraic operator synonym for remove that operates on the contents. More... | |
set & | operator-= (const set &to_zap) |
An algebraic operator synonym for remove that operates on a set. More... | |
set | set_union (const set &union_with) const |
Implements the set union of "this" with "union_with". More... | |
void | unionize (const set &union_with) |
Makes "this" set a union of "this" and "union_with". More... | |
set | operator+ (const set &uw) const |
A synonym for set_union. More... | |
set | intersection (const set &intersect_with) const |
Returns the intersection of "this" with the set in "intersect_with". More... | |
set | operator* (const set &iw) const |
A synonym for intersection. More... | |
set | difference (const set &differ_with) const |
Returns the difference of this with "differ_with". More... | |
void | differentiate (const set &differ_with) |
Makes "this" set equal to the difference of "this" and "differ_with". More... | |
set | operator- (const set &dw) const |
A synonym for difference. More... | |
int | find (const int &to_find) const |
Returns the integer index of the item "to_find" in this set. More... | |
bool | remove_index (int index) |
Zaps the entry at the specified "index". More... | |
Public Member Functions inherited from basis::array< int > | |
DEFINE_CLASS_NAME ("array") | |
array (int number=0, const int *init=NULL_POINTER, int flags=EXPONENTIAL_GROWTH|FLUSH_INVISIBLE) | |
Constructs an array with room for "number" objects. More... | |
array (const array< int > ©_from) | |
copies the contents & sizing information from "copy_from". More... | |
virtual | ~array () |
destroys the memory allocated for the objects. More... | |
void | reset (int number=0, const int *initial_contents=NULL_POINTER) |
Resizes this array and sets the contents from an array of contents. More... | |
array & | operator= (const array< int > ©_from) |
Copies the array in "copy_from" into this. More... | |
int | length () const |
Returns the current reported length of the allocated C array. More... | |
int | last () const |
Returns the last valid element in the array. More... | |
int | flags () const |
Provides the raw flags value, without interpreting what it means. More... | |
bool | exponential () const |
Returns true if this allocator will grow exponentially on resize. More... | |
bool | simple () const |
Reports whether the templated object is a simple type or not. More... | |
const int & | get (int index) const |
Accesses individual objects stored in "this" at the "index" position. More... | |
int & | use (int index) |
A non-constant version of get(); the returned object can be modified. More... | |
const int & | operator[] (int index) const |
Synonym for get that provides the expected array indexing syntax. More... | |
int & | operator[] (int index) |
Synonym for use that provides the expected array indexing syntax. More... | |
outcome | put (int index, const int &to_put) |
Stores an object at the index "index" in the array. More... | |
array | concatenation (const array &to_concatenate) const |
Returns the concatenation of "this" and the array "to_concatenate". More... | |
array | concatenation (const int &to_concatenate) const |
Returns the concatenation of "this" and the object "to_concatenate". More... | |
array & | concatenate (const array &to_concatenate) |
Appends the array "to_concatenate" onto "this" and returns "this". More... | |
array & | concatenate (const int &to_concatenate) |
Appends the object "to_concatenate" onto "this" and returns "this". More... | |
array & | concatenate (const int *to_concatenate, int length) |
Concatenates a C-array "to_concatenate" onto "this" and returns "this". More... | |
array | operator+ (const array &to_cat) const |
Synonym for concatenation. More... | |
array | operator+ (const int &to_concatenate) const |
Synonym for concatenation. More... | |
array & | operator+= (const array &to_concatenate) |
Synonym for concatenate that modifies "this". More... | |
array & | operator+= (const int &to_concatenate) |
Synonym for concatenate that modifies "this". More... | |
const int * | observe () const |
Returns a pointer to the underlying C array of data. More... | |
int * | access () |
A non-constant access of the underlying C-array. BE REALLY CAREFUL. More... | |
void | swap_contents (array< int > &other) |
Exchanges the contents of "this" and "other". More... | |
void | snarf (array &new_contents) |
Drops "this" array's contents into the dustbin and uses "new_contents". More... | |
array | subarray (int start, int end) const |
Returns the array segment between the indices "start" and "end". More... | |
outcome | insert (int index, int new_indices) |
Adds "new_indices" new positions for objects into the array at "index". More... | |
outcome | overwrite (int index, const array &write_with, int count=-1) |
Stores the array "write_with" into the current array at the "index". More... | |
outcome | stuff (int length, int *to_stuff) const |
Copies at most "length" elements from this into the array "to_stuff". More... | |
outcome | resize (int new_size, how_to_copy way=NEW_AT_END) |
Changes the size of the C array to "new_size". More... | |
outcome | zap (int start, int end) |
Deletes from "this" the objects inclusively between "start" and "end". More... | |
outcome | shrink () |
Cuts loose any allocated space that is beyond the real length. More... | |
outcome | retrain (int new_size, const int *to_copy) |
Resizes the C array and stuffs it with the contents in "to_copy". More... | |
void | shift_data (shift_directions where) |
The valid portion of the array is moved to the left or right. More... | |
int | internal_real_length () const |
Gritty Internal: the real allocated length. More... | |
int | internal_offset () const |
Gritty Internal: the offset from real start to stored data. More... | |
const int * | internal_block_start () const |
Gritty Internal: constant peek at the real allocated pointer. More... | |
int * | internal_block_start () |
Gritty Internal: the real allocated pointer made accessible. More... | |
int *const * | internal_offset_mem () const |
Gritty Internal: the start of the actual stored data. More... | |
Public Member Functions inherited from loggers::eol_aware | |
virtual textual::parser_bits::line_ending | eol () |
observes how line endings are to be printed. More... | |
virtual basis::astring | get_ending () |
returns a string for the current ending. More... | |
virtual void | get_ending (basis::astring &to_end) |
appends a string for the current ending to "to_end". More... | |
Public Member Functions inherited from loggers::console_logger | |
console_logger (stream_choices log_target=TO_STDOUT) | |
if "standard_error" is true, than stderr is used instead of stdout. More... | |
virtual | ~console_logger () |
DEFINE_CLASS_NAME ("console_logger") | |
bool | to_standard_output () const |
reports if the logger goes to standard output (default). More... | |
bool | to_standard_error () const |
reports if the logger goes to standard error instead. More... | |
void | set_output (stream_choices target) |
enables the target of logging to be changed after construction. More... | |
Additional Inherited Members | |
Public Types inherited from loggers::file_logger | |
enum | limits { DEFAULT_LOG_FILE_SIZE = 0x10F00D } |
Public Types inherited from basis::array< int > | |
enum | specialc_flags |
the flags specify how the array treats its contents and its length. More... | |
enum | how_to_copy |
enum | shift_directions |
Public Types inherited from loggers::console_logger | |
enum | stream_choices { TO_STDOUT , TO_STDERR } |
Static Public Member Functions inherited from loggers::file_logger | |
static basis::astring | log_file_for_app_name () |
returns a log file name for file_logger based on the program name. More... | |
combines a file_logger with a console logger, behaving like the 'tee' command.
this will output the diagnostic info to both a file and to the console. this is useful when one would like to see the output as its happening but also have a record for later.
Definition at line 26 of file combo_logger.h.
loggers::combo_logger::combo_logger | ( | const basis::astring & | filename, |
int | limit = DEFAULT_LOG_FILE_SIZE , |
||
stream_choices | log_target = TO_STDOUT |
||
) |
Definition at line 49 of file combo_logger.cpp.
|
inlinevirtual |
Definition at line 33 of file combo_logger.h.
|
virtual |
Adds a member to the filter set.
The filter set is used to check all extended filter values passed to log and print. if the special filters of ALWAYS_PRINT or NEVER_PRINT are added, then either everything will be logged or nothing will be.
Reimplemented from loggers::filter_set.
Definition at line 55 of file combo_logger.cpp.
References loggers::filter_set::add_filter().
|
virtual |
Resets the filter set to be empty.
Reimplemented from loggers::filter_set.
Definition at line 67 of file combo_logger.cpp.
References loggers::filter_set::clear_filters().
loggers::combo_logger::DEFINE_CLASS_NAME | ( | "combo_logger" | ) |
|
virtual |
modifies how line endings are to be printed.
Reimplemented from loggers::eol_aware.
Definition at line 73 of file combo_logger.cpp.
References loggers::eol_aware::eol().
|
virtual |
sends the string "info" to the standard output device.
if the "filter" is not in the current filter set, then the information will be dropped. otherwise the information is displayed, where appropriate. for some environments, this will essentially throw it away. for example, in ms-windows, a windowed program will only save standard out if one redirects standard output to a file, whereas a console mode program will output the text to its parent prompt.
Reimplemented from loggers::console_logger.
Definition at line 79 of file combo_logger.cpp.
References loggers::console_logger::log(), and loggers::file_logger::log().
|
virtual |
Removes a member from the filter set.
Reimplemented from loggers::filter_set.
Definition at line 61 of file combo_logger.cpp.
References loggers::filter_set::remove_filter().