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