|
- #pragma once
-
- #include <cxxabi.h>
- #include "logger.h"
-
- namespace cpplogging
- {
-
- namespace __impl
- {
-
- /* log_helper */
-
- log_helper
- ::log_helper(cpplogging::logger& p_logger)
- : logger (p_logger)
- , entry (new log_entry())
- { entry->name = p_logger.name(); }
-
- log_helper
- ::log_helper(cpplogging::logger& p_logger, const log_entry_ptr_s& p_entry)
- : logger (p_logger)
- , entry (p_entry)
- { entry->name = p_logger.name(); }
-
- log_helper
- ::~log_helper()
- {
- entry->message += str();
- if (entry.use_count() == 1)
- logger.write_entry(entry);
- }
- }
-
- /* logger */
-
- logger
- ::logger(const std::string name)
- : _name(name)
- { }
-
- const std::string& logger
- ::name() const
- { return _name; }
-
- __impl::log_helper logger
- ::log()
- { return __impl::log_helper(*this); }
-
- }
|