MCPcopy Create free account
hub / github.com/Xtra-Computing/thundersvm / LogFormat

Class LogFormat

include/thundersvm/util/log.h:1630–1694  ·  view source on GitHub ↗

@brief Represents log format containing flags and date format. This is used internally to start initial log

Source from the content-addressed store, hash-verified

1628 namespace base {
1629/// @brief Represents log format containing flags and date format. This is used internally to start initial log
1630 class LogFormat : public Loggable {
1631 public:
1632 LogFormat(void);
1633 LogFormat(Level level, const base::type::string_t& format);
1634 LogFormat(const LogFormat& logFormat);
1635 LogFormat(LogFormat&& logFormat);
1636 LogFormat& operator=(const LogFormat& logFormat);
1637 virtual ~LogFormat(void) {}
1638 bool operator==(const LogFormat& other);
1639
1640 /// @brief Updates format to be used while logging.
1641 /// @param userFormat User provided format
1642 void parseFromFormat(const base::type::string_t& userFormat);
1643
1644 inline Level level(void) const {
1645 return m_level;
1646 }
1647
1648 inline const base::type::string_t& userFormat(void) const {
1649 return m_userFormat;
1650 }
1651
1652 inline const base::type::string_t& format(void) const {
1653 return m_format;
1654 }
1655
1656 inline const std::string& dateTimeFormat(void) const {
1657 return m_dateTimeFormat;
1658 }
1659
1660 inline base::type::EnumType flags(void) const {
1661 return m_flags;
1662 }
1663
1664 inline bool hasFlag(base::FormatFlags flag) const {
1665 return base::utils::hasFlag(flag, m_flags);
1666 }
1667
1668 virtual void log(el::base::type::ostream_t& os) const {
1669 os << m_format;
1670 }
1671
1672 protected:
1673 /// @brief Updates date time format if available in currFormat.
1674 /// @param index Index where %datetime, %date or %time was found
1675 /// @param [in,out] currFormat current format that is being used to format
1676 virtual void updateDateFormat(std::size_t index, base::type::string_t& currFormat) ELPP_FINAL;
1677
1678 /// @brief Updates %level from format. This is so that we dont have to do it at log-writing-time. It uses m_format and m_level
1679 virtual void updateFormatSpec(void) ELPP_FINAL;
1680
1681 inline void addFlag(base::FormatFlags flag) {
1682 base::utils::addFlag(flag, &m_flags);
1683 }
1684
1685 private:
1686 Level m_level;
1687 base::type::string_t m_userFormat;

Callers 1

buildMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected