common/Log.hpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-)
New commits: commit ae6f0e3df91f3b50c8bb3a1c3923e6fed798be0c Author: Tor Lillqvist <[email protected]> Date: Wed Jan 4 16:09:04 2017 +0200 Make it possible to use the LOG_* things as statements Use the usual do { ... } while (false) idiom. (See http://stackoverflow.com/questions/4674480/do-whilefalse-pattern for instance.) Change-Id: I1fb00c331ab4eab3ebbff1d58a8ed36e59d2646c diff --git a/common/Log.hpp b/common/Log.hpp index 4613877..c068629 100644 --- a/common/Log.hpp +++ b/common/Log.hpp @@ -171,17 +171,17 @@ namespace Log } #define LOG_BODY(LVL, X) std::ostringstream oss_; oss_ << Log::prefix(LVL) << std::boolalpha << X << "| " << __FILE__ << ':' << __LINE__ -#define LOG_TRC(X) if (Log::traceEnabled()) { LOG_BODY("TRC", X); Log::logger().trace(oss_.str()); } -#define LOG_DBG(X) if (Log::debugEnabled()) { LOG_BODY("DBG", X); Log::logger().debug(oss_.str()); } -#define LOG_INF(X) if (Log::infoEnabled()) { LOG_BODY("INF", X); Log::logger().information(oss_.str()); } -#define LOG_WRN(X) if (Log::warnEnabled()) { LOG_BODY("WRN", X); Log::logger().warning(oss_.str()); } -#define LOG_ERR(X) if (Log::errorEnabled()) { LOG_BODY("ERR", X); Log::logger().error(oss_.str()); } -#define LOG_SYS(X) if (Log::errorEnabled()) { LOG_BODY("ERR", X << " (errno: " << std::strerror(errno) << ")"); Log::logger().error(oss_.str()); } -#define LOG_FTL(X) if (Log::fatalEnabled()) { LOG_BODY("FTL", X); Log::logger().fatal(oss_.str()); } -#define LOG_SFL(X) if (Log::errorEnabled()) { LOG_BODY("FTL", X << " (errno: " << std::strerror(errno) << ")"); Log::logger().fatal(oss_.str()); } - -#define LOG_CHECK(X) if (!(X)) { LOG_ERR("Check failed. Expected (" #X ")."); } -#define LOG_CHECK_RET(X, RET) if (!(X)) { LOG_ERR("Check failed. Expected (" #X ")."); return RET; } +#define LOG_TRC(X) do { if (Log::traceEnabled()) { LOG_BODY("TRC", X); Log::logger().trace(oss_.str()); } } while (false) +#define LOG_DBG(X) do { if (Log::debugEnabled()) { LOG_BODY("DBG", X); Log::logger().debug(oss_.str()); } } while (false) +#define LOG_INF(X) do { if (Log::infoEnabled()) { LOG_BODY("INF", X); Log::logger().information(oss_.str()); } } while (false) +#define LOG_WRN(X) do { if (Log::warnEnabled()) { LOG_BODY("WRN", X); Log::logger().warning(oss_.str()); } } while (false) +#define LOG_ERR(X) do { if (Log::errorEnabled()) { LOG_BODY("ERR", X); Log::logger().error(oss_.str()); } } while (false) +#define LOG_SYS(X) do { if (Log::errorEnabled()) { LOG_BODY("ERR", X << " (errno: " << std::strerror(errno) << ")"); Log::logger().error(oss_.str()); } } while (false) +#define LOG_FTL(X) do { if (Log::fatalEnabled()) { LOG_BODY("FTL", X); Log::logger().fatal(oss_.str()); } } while (false) +#define LOG_SFL(X) do { if (Log::errorEnabled()) { LOG_BODY("FTL", X << " (errno: " << std::strerror(errno) << ")"); Log::logger().fatal(oss_.str()); } } while (false) + +#define LOG_CHECK(X) do { if (!(X)) { LOG_ERR("Check failed. Expected (" #X ")."); } } while (false) +#define LOG_CHECK_RET(X, RET) do { if (!(X)) { LOG_ERR("Check failed. Expected (" #X ")."); return RET; } } while (false) #endif _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
