mirror of
https://github.com/gabime/spdlog.git
synced 2024-11-15 16:35:45 +08:00
code formatting
This commit is contained in:
parent
fe73255452
commit
33329c80a9
@ -37,13 +37,12 @@ inline spdlog::logger::logger(std::string logger_name, spdlog::sink_ptr single_s
|
||||
|
||||
inline spdlog::logger::~logger() = default;
|
||||
|
||||
|
||||
inline void spdlog::logger::set_formatter(std::unique_ptr<spdlog::formatter> f)
|
||||
{
|
||||
for (auto &sink : sinks_)
|
||||
{
|
||||
sink->set_formatter(f->clone());
|
||||
}
|
||||
for (auto &sink : sinks_)
|
||||
{
|
||||
sink->set_formatter(f->clone());
|
||||
}
|
||||
}
|
||||
|
||||
inline void spdlog::logger::set_pattern(std::string pattern, pattern_time_type time_type)
|
||||
|
@ -75,7 +75,7 @@ static int to12h(const tm &t)
|
||||
}
|
||||
|
||||
// Abbreviated weekday name
|
||||
static const char* days[]{"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
|
||||
static const char *days[]{"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
|
||||
class a_formatter : public flag_formatter
|
||||
{
|
||||
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
||||
@ -85,7 +85,7 @@ class a_formatter : public flag_formatter
|
||||
};
|
||||
|
||||
// Full weekday name
|
||||
static const char* full_days[]{"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
|
||||
static const char *full_days[]{"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
|
||||
class A_formatter : public flag_formatter
|
||||
{
|
||||
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
||||
@ -95,7 +95,7 @@ class A_formatter : public flag_formatter
|
||||
};
|
||||
|
||||
// Abbreviated month
|
||||
static const char* months[]{"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"};
|
||||
static const char *months[]{"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"};
|
||||
class b_formatter : public flag_formatter
|
||||
{
|
||||
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
||||
@ -105,7 +105,7 @@ class b_formatter : public flag_formatter
|
||||
};
|
||||
|
||||
// Full month name
|
||||
static const char* full_months[]{
|
||||
static const char *full_months[]{
|
||||
"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
|
||||
class B_formatter : public flag_formatter
|
||||
{
|
||||
@ -541,24 +541,24 @@ private:
|
||||
class pattern_formatter SPDLOG_FINAL : public formatter
|
||||
{
|
||||
public:
|
||||
explicit pattern_formatter(
|
||||
std::string pattern, pattern_time_type time_type = pattern_time_type::local, std::string eol = spdlog::details::os::default_eol)
|
||||
: pattern_(std::move(pattern))
|
||||
, eol_(std::move(eol))
|
||||
, pattern_time_type_(time_type)
|
||||
, last_log_secs_(0)
|
||||
{
|
||||
std::memset(&cached_tm_, 0, sizeof(cached_tm_));
|
||||
compile_pattern_(pattern_);
|
||||
}
|
||||
explicit pattern_formatter(
|
||||
std::string pattern, pattern_time_type time_type = pattern_time_type::local, std::string eol = spdlog::details::os::default_eol)
|
||||
: pattern_(std::move(pattern))
|
||||
, eol_(std::move(eol))
|
||||
, pattern_time_type_(time_type)
|
||||
, last_log_secs_(0)
|
||||
{
|
||||
std::memset(&cached_tm_, 0, sizeof(cached_tm_));
|
||||
compile_pattern_(pattern_);
|
||||
}
|
||||
|
||||
pattern_formatter(const pattern_formatter &other) = delete;
|
||||
pattern_formatter &operator=(const pattern_formatter &other) = delete;
|
||||
|
||||
virtual std::unique_ptr<formatter> clone() const override
|
||||
{
|
||||
return std::unique_ptr<formatter>(new pattern_formatter(pattern_, pattern_time_type_, eol_));
|
||||
}
|
||||
pattern_formatter(const pattern_formatter &other) = delete;
|
||||
pattern_formatter &operator=(const pattern_formatter &other) = delete;
|
||||
|
||||
virtual std::unique_ptr<formatter> clone() const override
|
||||
{
|
||||
return std::unique_ptr<formatter>(new pattern_formatter(pattern_, pattern_time_type_, eol_));
|
||||
}
|
||||
|
||||
void format(const details::log_msg &msg, fmt::memory_buffer &dest) override
|
||||
{
|
||||
@ -579,7 +579,7 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
std::string pattern_;
|
||||
std::string pattern_;
|
||||
std::string eol_;
|
||||
pattern_time_type pattern_time_type_;
|
||||
std::tm cached_tm_;
|
||||
@ -742,10 +742,10 @@ private:
|
||||
}
|
||||
|
||||
void compile_pattern_(const std::string &pattern)
|
||||
{
|
||||
{
|
||||
auto end = pattern.end();
|
||||
std::unique_ptr<details::aggregate_formatter> user_chars;
|
||||
formatters_.clear();
|
||||
formatters_.clear();
|
||||
for (auto it = pattern.begin(); it != end; ++it)
|
||||
{
|
||||
if (*it == '%')
|
||||
|
@ -81,17 +81,16 @@ public:
|
||||
return tp_;
|
||||
}
|
||||
|
||||
|
||||
// Set global formatter. Each sink in each logger will get a clone of this object
|
||||
void set_formatter(std::unique_ptr<formatter> formatter)
|
||||
{
|
||||
std::lock_guard<Mutex> lock(loggers_mutex_);
|
||||
formatter_ = std::move(formatter);
|
||||
for (auto &l : loggers_)
|
||||
{
|
||||
l.second->set_formatter(formatter_->clone());
|
||||
}
|
||||
}
|
||||
// Set global formatter. Each sink in each logger will get a clone of this object
|
||||
void set_formatter(std::unique_ptr<formatter> formatter)
|
||||
{
|
||||
std::lock_guard<Mutex> lock(loggers_mutex_);
|
||||
formatter_ = std::move(formatter);
|
||||
for (auto &l : loggers_)
|
||||
{
|
||||
l.second->set_formatter(formatter_->clone());
|
||||
}
|
||||
}
|
||||
|
||||
void set_level(level::level_enum log_level)
|
||||
{
|
||||
@ -169,7 +168,10 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
registry_t<Mutex>() : formatter_(new pattern_formatter("%+")){}
|
||||
registry_t<Mutex>()
|
||||
: formatter_(new pattern_formatter("%+"))
|
||||
{
|
||||
}
|
||||
|
||||
~registry_t<Mutex>()
|
||||
{
|
||||
@ -196,7 +198,7 @@ private:
|
||||
Mutex loggers_mutex_;
|
||||
std::recursive_mutex tp_mutex_;
|
||||
std::unordered_map<std::string, std::shared_ptr<logger>> loggers_;
|
||||
//std::unique_ptr<formatter> formatter_{ new pattern_formatter("%+") };
|
||||
// std::unique_ptr<formatter> formatter_{ new pattern_formatter("%+") };
|
||||
std::unique_ptr<formatter> formatter_;
|
||||
level::level_enum level_ = level::info;
|
||||
level::level_enum flush_level_ = level::off;
|
||||
|
@ -15,6 +15,6 @@ class formatter
|
||||
public:
|
||||
virtual ~formatter() = default;
|
||||
virtual void format(const details::log_msg &msg, fmt::memory_buffer &dest) = 0;
|
||||
virtual std::unique_ptr<formatter> clone() const = 0;
|
||||
virtual std::unique_ptr<formatter> clone() const = 0;
|
||||
};
|
||||
} // namespace spdlog
|
||||
|
@ -114,19 +114,19 @@ public:
|
||||
void set_level(level::level_enum log_level);
|
||||
level::level_enum level() const;
|
||||
const std::string &name() const;
|
||||
|
||||
// set formatting for the sinks in this logger.
|
||||
// each sink will get a seperate instance of the formatter object.
|
||||
void set_formatter(std::unique_ptr<formatter> formatter);
|
||||
void set_pattern(std::string pattern, pattern_time_type time_type = pattern_time_type::local);
|
||||
|
||||
|
||||
// set formatting for the sinks in this logger.
|
||||
// each sink will get a seperate instance of the formatter object.
|
||||
void set_formatter(std::unique_ptr<formatter> formatter);
|
||||
void set_pattern(std::string pattern, pattern_time_type time_type = pattern_time_type::local);
|
||||
|
||||
void flush();
|
||||
void flush_on(level::level_enum log_level);
|
||||
|
||||
const std::vector<sink_ptr> &sinks() const;
|
||||
|
||||
std::vector<sink_ptr> &sinks();
|
||||
|
||||
|
||||
void set_error_handler(log_err_handler err_handler);
|
||||
log_err_handler error_handler();
|
||||
|
||||
|
@ -56,14 +56,14 @@ inline std::shared_ptr<logger> get(const std::string &name)
|
||||
// Set global formatter. Each sink in each logger will get a clone of this object
|
||||
inline void set_formatter(std::unique_ptr<spdlog::formatter> formatter)
|
||||
{
|
||||
details::registry::instance().set_formatter(std::move(formatter));
|
||||
details::registry::instance().set_formatter(std::move(formatter));
|
||||
}
|
||||
|
||||
// Set global format string.
|
||||
// Set global format string.
|
||||
// example: spdlog::set_pattern("%Y-%m-%d %H:%M:%S.%e %l : %v");
|
||||
inline void set_pattern(std::string pattern, pattern_time_type time_type = pattern_time_type::local)
|
||||
{
|
||||
set_formatter(std::unique_ptr<spdlog::formatter>(new pattern_formatter(pattern, time_type)));
|
||||
set_formatter(std::unique_ptr<spdlog::formatter>(new pattern_formatter(pattern, time_type)));
|
||||
}
|
||||
|
||||
// Set global logging level
|
||||
|
@ -10,7 +10,7 @@ static std::string log_to_str(const std::string &msg, const Args &... args)
|
||||
spdlog::logger oss_logger("pattern_tester", oss_sink);
|
||||
oss_logger.set_level(spdlog::level::info);
|
||||
|
||||
oss_logger.set_formatter(std::unique_ptr<spdlog::formatter>(new spdlog::pattern_formatter(args...)));
|
||||
oss_logger.set_formatter(std::unique_ptr<spdlog::formatter>(new spdlog::pattern_formatter(args...)));
|
||||
|
||||
oss_logger.info(msg);
|
||||
return oss.str();
|
||||
|
Loading…
Reference in New Issue
Block a user