Logging
This section details the API to interact with LIEF’s logging engine.
LIEF relies on spdlog for logging
mechansim and this API provides an abstraction over the implementation.
API
C++
-
void LIEF::logging::disable()
Globally disable the logging module.
-
void LIEF::logging::enable()
Globally enable the logging module.
-
void LIEF::logging::set_level(LEVEL level)
Change the logging level (hierarchical)
-
void LIEF::logging::set_path(const std::string &path)
Change the logger as a file-base logging and set its path.
-
template<typename ...Args>
void LIEF::logging::log(LEVEL level, const std::string &fmt, const Args&... args)
-
void LIEF::logging::log(LEVEL level, const std::string &fmt, const std::vector<std::string> &args)
-
void LIEF::logging::log(LEVEL level, const std::string &msg)
Log a message with the LIEF’s logger.
-
void LIEF::logging::reset()
-
enum class LIEF::logging::LEVEL : uint32_t
Hierarchical logging level
From a given level set, all levels below this ! level are enabled
For example, if LEVEL::INFO is enabled then LEVEL::WARN, LEVEL::ERR are also enabled
Values:
-
enumerator OFF = 0
-
enumerator TRACE
-
enumerator DEBUG
-
enumerator INFO
-
enumerator WARN
-
enumerator ERR
-
enumerator CRITICAL
-
class Scoped
-
Python
-
lief.logging.set_level(level: lief.logging.LEVEL) → None
Change logging level
-
lief.logging.enable() → None
Enable the logger globally
-
lief.logging.disable() → None
Disable the logger globally
-
lief.logging.set_path(path: str) → None
Change the logger as a file-base logging and set its path
-
lief.logging.log(level: lief.logging.LEVEL, msg: str) → None
Log a message with the LIEF’s logger
-
class lief.logging.LEVEL(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
-
CRITICAL = 6
-
DEBUG = 2
-
ERROR = 5
-
INFO = 3
-
OFF = 0
-
TRACE = 1
-
WARN = 4