diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-05 11:19:16 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-07-24 09:53:24 +0000 |
commit | b5f8ee61a7f7e9bd291dd26b0585d03eb686c941 (patch) | |
tree | d4d31289c39fc00da064a825df13a0b98ce95b10 /ml/dlib/examples/logger_custom_output_ex.cpp | |
parent | Adding upstream version 1.44.3. (diff) | |
download | netdata-b5f8ee61a7f7e9bd291dd26b0585d03eb686c941.tar.xz netdata-b5f8ee61a7f7e9bd291dd26b0585d03eb686c941.zip |
Adding upstream version 1.46.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | ml/dlib/examples/logger_custom_output_ex.cpp | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/ml/dlib/examples/logger_custom_output_ex.cpp b/ml/dlib/examples/logger_custom_output_ex.cpp deleted file mode 100644 index 6916e43de..000000000 --- a/ml/dlib/examples/logger_custom_output_ex.cpp +++ /dev/null @@ -1,73 +0,0 @@ -// The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt - -/* - - This is an example showing how to control where the dlib::logger sends its messages. - This is done by creating a "hook" class that is called whenever any of the loggers want - to log a message. The hook class then outputs the messages using any method you like. - - - Prior to reading this example, you should understand the basics of the dlib::logger. - So you should have already read the logger_ex.cpp and logger_ex_2.cpp example programs. - -*/ - - -#include <dlib/logger.h> - -using namespace dlib; -using namespace std; - -class my_hook -{ -public: - my_hook( - ) - { - fout.open("my_log_file.txt"); - } - - void log ( - const string& logger_name, - const log_level& ll, - const uint64 thread_id, - const char* message_to_log - ) - { - // Log all messages from any logger to our log file. - fout << ll << " ["<<thread_id<<"] " << logger_name << ": " << message_to_log << endl; - - // But only log messages that are of LINFO priority or higher to the console. - if (ll >= LINFO) - cout << ll << " ["<<thread_id<<"] " << logger_name << ": " << message_to_log << endl; - } - -private: - ofstream fout; -}; - -int main() -{ - my_hook hook; - // This tells all dlib loggers to send their logging events to the hook object. That - // is, any time a logger generates a message it will call hook.log() with the message - // contents. Additionally, hook.log() will also only be called from one thread at a - // time so it is safe to use this kind of hook in a multi-threaded program with many - // loggers in many threads. - set_all_logging_output_hooks(hook); - // It should also be noted that the hook object must not be destructed while the - // loggers are still in use. So it is a good idea to declare the hook object - // somewhere where it will live the entire lifetime of the program, as we do here. - - - logger dlog("main"); - // Tell the dlog logger to emit a message for all logging events rather than its - // default behavior of only logging LERROR or above. - dlog.set_level(LALL); - - // All these message go to my_log_file.txt, but only the last two go to the console. - dlog << LDEBUG << "This is a debugging message."; - dlog << LINFO << "This is an informational message."; - dlog << LERROR << "An error message!"; -} - |