X-Git-Url: https://vaikene.ee/gitweb/gitweb.cgi?a=blobdiff_plain;f=src%2Flibs%2FCommon%2Filogger.h;h=81d80160fbcfb707648f3fce57f953731d387e72;hb=4d81227da330c21c7aa0badc88bd5ad4467067fb;hp=4a75e3e42390ed026aca7ae880de3ac220bc9cfc;hpb=5815060246f84e8efdf3143b4e8c7d00778168cf;p=evaf diff --git a/src/libs/Common/ilogger.h b/src/libs/Common/ilogger.h index 4a75e3e..81d8016 100644 --- a/src/libs/Common/ilogger.h +++ b/src/libs/Common/ilogger.h @@ -110,7 +110,7 @@ public: * are output. With this function the severity level can be changed so that also less important * messages are output. */ - virtual void setSeverity(Severity severity, QString const & source) = 0; + virtual void setSeverity(Severity severity, QString const & source = 0) = 0; /** * Returns the current maximum size of log files in KiB. @@ -244,4 +244,89 @@ void COMMON_EXPORT qInfo(char const * const msg, ...) #endif ; +/** + * Macro for fatal error messages. + * + * This macro expands to a fatal error message output with the location in the source code where the error + * occurred. + */ +#define EVAF_FATAL_ERROR(...) \ + do { \ + eVaf::Common::iLogger::instance()->write( \ + eVaf::Common::iLogger::Fatal, \ + eVaf::Common::iLogger::instance()->printf(__VA_ARGS__), \ + 0, \ + eVaf::Common::iLogger::instance()->printf("%s:%s:%d", __FILE__, __FUNCTION__, __LINE__) \ + ); \ + } while (0) + +/** + * Macro for error messages. + * + * This macro expands to an error message output with the location in the source code where the error + * occurred. + */ +#define EVAF_ERROR(...) \ + do { \ + eVaf::Common::iLogger::instance()->write( \ + eVaf::Common::iLogger::Error, \ + eVaf::Common::iLogger::instance()->printf(__VA_ARGS__), \ + 0, \ + eVaf::Common::iLogger::instance()->printf("%s:%s:%d", __FILE__, __FUNCTION__, __LINE__) \ + ); \ + } while (0) + +/** + * Macro for warning messages. + * + * This macro expands to a warning message output with the location in the source code where the warning + * occurred. + */ +#define EVAF_WARNING(...) \ + do { \ + eVaf::Common::iLogger::instance()->write( \ + eVaf::Common::iLogger::Warning, \ + eVaf::Common::iLogger::instance()->printf(__VA_ARGS__), \ + 0, \ + eVaf::Common::iLogger::instance()->printf("%s:%s:%d", __FILE__, __FUNCTION__, __LINE__) \ + ); \ + } while (0) + +/** + * Macro for info messages. + * + * This macro expands to an info message output with the location in the source code where the message + * is output. + */ +#define EVAF_INFO(...) \ + do { \ + eVaf::Common::iLogger::instance()->write( \ + eVaf::Common::iLogger::Info, \ + eVaf::Common::iLogger::instance()->printf(__VA_ARGS__), \ + 0, \ + eVaf::Common::iLogger::instance()->printf("%s:%s:%d", __FILE__, __FUNCTION__, __LINE__) \ + ); \ + } while (0) + +/** + * Macro for debug messages. + * + * This macro expands to a debug message output with the location in the source code where the message + * is output. All the debug messages are supressed when the NDEBUG directive is defined. + */ +#ifndef NDEBUG +# define EVAF_DEBUG(...) \ + do { \ + eVaf::Common::iLogger::instance()->write( \ + eVaf::Common::iLogger::Debug, \ + eVaf::Common::iLogger::instance()->printf(__VA_ARGS__), \ + 0, \ + eVaf::Common::iLogger::instance()->printf("%s:%s:%d", __FILE__, __FUNCTION__, __LINE__) \ + ); \ + } while (0) +#else +# define EVAF_DEBUG(...) \ + do { } while (0) +#endif + #endif // ilogger.h