Introduce Aidge::Log facility for messages logging
Context
Right now, Aidge lacks a simple and uniform log system (see aidge#34 (closed)).
Several C++ log libraries based on fmt exist, like fmtlog or spdlog, but the very simple need for Aidge, which is not intended to be a continously running server application, does not seem to justify adding an extra dependency and the possible associated overhead.
Therefore, this proposal only brings the following functionalities:
- 6 logging functions for 6 log levels (
debug,info,notice,warn,error,fatal) that are clearly defined; - Possibility to save log messages in a file: enable, disable and change file at runtime;
- Possibility to choose the log level for console and for file at runtime;
- Compile-time removal of the
debuglevel for Release.
Modified files
-
Log.hppandLog.cpp, added new Log class; -
Test_Log.hpp, added simple unit test; -
ErrorHandling.hpp, modified to use Aidge::Log.
Edited by Olivier BICHLER