diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/NitrokeyManager.h | 1 | ||||
| -rw-r--r-- | include/log.h | 12 | 
2 files changed, 13 insertions, 0 deletions
| diff --git a/include/NitrokeyManager.h b/include/NitrokeyManager.h index a815571..51cd966 100644 --- a/include/NitrokeyManager.h +++ b/include/NitrokeyManager.h @@ -139,6 +139,7 @@ namespace nitrokey {          int get_minor_firmware_version();          explicit NitrokeyManager(); +        void set_log_function(std::function<void(std::string)> log_function);      private:          static shared_ptr <NitrokeyManager> _instance; diff --git a/include/log.h b/include/log.h index 38fc122..e7c790a 100644 --- a/include/log.h +++ b/include/log.h @@ -4,6 +4,8 @@  #include <string>  #include <cstddef> +#include <functional> +  namespace nitrokey {    namespace log { @@ -29,6 +31,14 @@ namespace nitrokey {        virtual void print(const std::string &, Loglevel lvl);      }; +    class FunctionalLogHandler : public LogHandler { +      std::function<void(std::string)> log_function; +    public: +      FunctionalLogHandler(std::function<void(std::string)> _log_function); +      virtual void print(const std::string &, Loglevel lvl); + +    }; +      extern StdlogHandler stdlog_handler;      class Log { @@ -56,8 +66,10 @@ namespace nitrokey {  #ifdef NO_LOG  #define LOG(string, level) while(false){} +#define LOGD(string, level) while(false){}  #else  #define LOG(string, level) nitrokey::log::Log::instance()((string), (level)) +#define LOGD(string) nitrokey::log::Log::instance()((string), (nitrokey::log::Loglevel::DEBUG_L2))  #endif  #endif | 
