2015-09-29 19:21:02 +00:00
|
|
|
#pragma once
|
2017-02-02 14:19:13 +00:00
|
|
|
|
|
|
|
/// Macros for convenient usage of Poco logger.
|
2015-09-29 19:21:02 +00:00
|
|
|
|
|
|
|
#include <sstream>
|
|
|
|
#include <Poco/Logger.h>
|
2019-07-08 11:41:54 +00:00
|
|
|
#include <../../../../dbms/src/Core/SettingsCommon.h>
|
2015-09-29 19:21:02 +00:00
|
|
|
|
|
|
|
#ifndef QUERY_PREVIEW_LENGTH
|
|
|
|
#define QUERY_PREVIEW_LENGTH 160
|
|
|
|
#endif
|
|
|
|
|
|
|
|
using Poco::Logger;
|
2019-07-08 11:41:54 +00:00
|
|
|
using DB::LogsLevel;
|
|
|
|
|
2019-07-08 14:15:48 +00:00
|
|
|
POCO_UNUSED std::atomic<LogsLevel> CLIENT_LOGS_LEVEL = LogsLevel::none;
|
2015-09-29 19:21:02 +00:00
|
|
|
|
|
|
|
/// Logs a message to a specified logger with that level.
|
|
|
|
|
|
|
|
#define LOG_TRACE(logger, message) do { \
|
2019-07-08 11:41:54 +00:00
|
|
|
if ((logger)->trace() || CLIENT_LOGS_LEVEL >= LogsLevel::trace) {\
|
2017-04-01 07:20:54 +00:00
|
|
|
std::stringstream oss_internal_rare; \
|
|
|
|
oss_internal_rare << message; \
|
2017-08-04 14:00:26 +00:00
|
|
|
(logger)->trace(oss_internal_rare.str());}} while(false)
|
2015-09-29 19:21:02 +00:00
|
|
|
|
|
|
|
#define LOG_DEBUG(logger, message) do { \
|
2019-07-08 11:41:54 +00:00
|
|
|
if ((logger)->debug() || CLIENT_LOGS_LEVEL >= LogsLevel::debug) {\
|
2017-04-01 07:20:54 +00:00
|
|
|
std::stringstream oss_internal_rare; \
|
|
|
|
oss_internal_rare << message; \
|
2017-08-04 14:00:26 +00:00
|
|
|
(logger)->debug(oss_internal_rare.str());}} while(false)
|
2015-09-29 19:21:02 +00:00
|
|
|
|
|
|
|
#define LOG_INFO(logger, message) do { \
|
2019-07-08 11:41:54 +00:00
|
|
|
if ((logger)->information() || CLIENT_LOGS_LEVEL >= LogsLevel::information) {\
|
2017-04-01 07:20:54 +00:00
|
|
|
std::stringstream oss_internal_rare; \
|
|
|
|
oss_internal_rare << message; \
|
2017-08-04 14:00:26 +00:00
|
|
|
(logger)->information(oss_internal_rare.str());}} while(false)
|
2015-09-29 19:21:02 +00:00
|
|
|
|
|
|
|
#define LOG_WARNING(logger, message) do { \
|
2019-07-08 11:41:54 +00:00
|
|
|
if ((logger)->warning() || CLIENT_LOGS_LEVEL >= LogsLevel::warning) {\
|
2017-04-01 07:20:54 +00:00
|
|
|
std::stringstream oss_internal_rare; \
|
|
|
|
oss_internal_rare << message; \
|
2017-08-04 14:00:26 +00:00
|
|
|
(logger)->warning(oss_internal_rare.str());}} while(false)
|
2015-09-29 19:21:02 +00:00
|
|
|
|
|
|
|
#define LOG_ERROR(logger, message) do { \
|
2019-07-08 11:41:54 +00:00
|
|
|
if ((logger)->error() || CLIENT_LOGS_LEVEL >= LogsLevel::error) {\
|
2017-04-01 07:20:54 +00:00
|
|
|
std::stringstream oss_internal_rare; \
|
|
|
|
oss_internal_rare << message; \
|
2017-08-04 14:00:26 +00:00
|
|
|
(logger)->error(oss_internal_rare.str());}} while(false)
|