X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fcommon%2FLogEntry.cc;fp=src%2Fceph%2Fsrc%2Fcommon%2FLogEntry.cc;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=d9100fc46a25669ece7450f1c7460a94d19f5833;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/common/LogEntry.cc b/src/ceph/src/common/LogEntry.cc deleted file mode 100644 index d9100fc..0000000 --- a/src/ceph/src/common/LogEntry.cc +++ /dev/null @@ -1,301 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab -// -#include -#include - -#include "LogEntry.h" -#include "Formatter.h" -#include "include/stringify.h" - -// ---- -// LogEntryKey - -void LogEntryKey::encode(bufferlist& bl, uint64_t features) const -{ - ::encode(who, bl, features); - ::encode(stamp, bl); - ::encode(seq, bl); -} - -void LogEntryKey::decode(bufferlist::iterator& bl) -{ - ::decode(who, bl); - ::decode(stamp, bl); - ::decode(seq, bl); - _calc_hash(); -} - -void LogEntryKey::dump(Formatter *f) const -{ - f->dump_stream("who") << who; - f->dump_stream("stamp") << stamp; - f->dump_unsigned("seq", seq); -} - -void LogEntryKey::generate_test_instances(list& o) -{ - o.push_back(new LogEntryKey); - o.push_back(new LogEntryKey(entity_inst_t(), utime_t(1,2), 34)); -} - -clog_type LogEntry::str_to_level(std::string const &str) -{ - std::string level_str = str; - std::transform(level_str.begin(), level_str.end(), level_str.begin(), - [](char c) {return std::tolower(c);}); - - if (level_str == "debug") { - return CLOG_DEBUG; - } else if (level_str == "info") { - return CLOG_INFO; - } else if (level_str == "sec") { - return CLOG_SEC; - } else if (level_str == "warn" || level_str == "warning") { - return CLOG_WARN; - } else if (level_str == "error" || level_str == "err") { - return CLOG_ERROR; - } else { - return CLOG_UNKNOWN; - } -} - -// ---- - -int clog_type_to_syslog_level(clog_type t) -{ - switch (t) { - case CLOG_DEBUG: - return LOG_DEBUG; - case CLOG_INFO: - return LOG_INFO; - case CLOG_WARN: - return LOG_WARNING; - case CLOG_ERROR: - return LOG_ERR; - case CLOG_SEC: - return LOG_CRIT; - default: - ceph_abort(); - return 0; - } -} - -clog_type string_to_clog_type(const string& s) -{ - if (boost::iequals(s, "debug") || - boost::iequals(s, "dbg")) - return CLOG_DEBUG; - if (boost::iequals(s, "info") || - boost::iequals(s, "inf")) - return CLOG_INFO; - if (boost::iequals(s, "warning") || - boost::iequals(s, "warn") || - boost::iequals(s, "wrn")) - return CLOG_WARN; - if (boost::iequals(s, "error") || - boost::iequals(s, "err")) - return CLOG_ERROR; - if (boost::iequals(s, "security") || - boost::iequals(s, "sec")) - return CLOG_SEC; - - return CLOG_UNKNOWN; -} - -int string_to_syslog_level(string s) -{ - if (boost::iequals(s, "debug")) - return LOG_DEBUG; - if (boost::iequals(s, "info") || - boost::iequals(s, "notice")) - return LOG_INFO; - if (boost::iequals(s, "warning") || - boost::iequals(s, "warn")) - return LOG_WARNING; - if (boost::iequals(s, "error") || - boost::iequals(s, "err")) - return LOG_ERR; - if (boost::iequals(s, "crit") || - boost::iequals(s, "critical") || - boost::iequals(s, "emerg")) - return LOG_CRIT; - - // err on the side of noise! - return LOG_DEBUG; -} - -int string_to_syslog_facility(string s) -{ - if (boost::iequals(s, "auth")) - return LOG_AUTH; - if (boost::iequals(s, "authpriv")) - return LOG_AUTHPRIV; - if (boost::iequals(s, "cron")) - return LOG_CRON; - if (boost::iequals(s, "daemon")) - return LOG_DAEMON; - if (boost::iequals(s, "ftp")) - return LOG_FTP; - if (boost::iequals(s, "kern")) - return LOG_KERN; - if (boost::iequals(s, "local0")) - return LOG_LOCAL0; - if (boost::iequals(s, "local1")) - return LOG_LOCAL1; - if (boost::iequals(s, "local2")) - return LOG_LOCAL2; - if (boost::iequals(s, "local3")) - return LOG_LOCAL3; - if (boost::iequals(s, "local4")) - return LOG_LOCAL4; - if (boost::iequals(s, "local5")) - return LOG_LOCAL5; - if (boost::iequals(s, "local6")) - return LOG_LOCAL6; - if (boost::iequals(s, "local7")) - return LOG_LOCAL7; - if (boost::iequals(s, "lpr")) - return LOG_LPR; - if (boost::iequals(s, "mail")) - return LOG_MAIL; - if (boost::iequals(s, "news")) - return LOG_NEWS; - if (boost::iequals(s, "syslog")) - return LOG_SYSLOG; - if (boost::iequals(s, "user")) - return LOG_USER; - if (boost::iequals(s, "uucp")) - return LOG_UUCP; - - // default to USER - return LOG_USER; -} - -string clog_type_to_string(clog_type t) -{ - switch (t) { - case CLOG_DEBUG: - return "debug"; - case CLOG_INFO: - return "info"; - case CLOG_WARN: - return "warn"; - case CLOG_ERROR: - return "err"; - case CLOG_SEC: - return "crit"; - default: - ceph_abort(); - return 0; - } -} - -void LogEntry::log_to_syslog(string level, string facility) -{ - int min = string_to_syslog_level(level); - int l = clog_type_to_syslog_level(prio); - if (l <= min) { - int f = string_to_syslog_facility(facility); - syslog(l | f, "%s %llu : %s", - stringify(who).c_str(), - (long long unsigned)seq, - msg.c_str()); - } -} - -void LogEntry::encode(bufferlist& bl, uint64_t features) const -{ - ENCODE_START(4, 2, bl); - __u16 t = prio; - ::encode(who, bl, features); - ::encode(stamp, bl); - ::encode(seq, bl); - ::encode(t, bl); - ::encode(msg, bl); - ::encode(channel, bl); - ::encode(name, bl); - ENCODE_FINISH(bl); -} - -void LogEntry::decode(bufferlist::iterator& bl) -{ - DECODE_START_LEGACY_COMPAT_LEN(4, 2, 2, bl); - __u16 t; - ::decode(who, bl); - ::decode(stamp, bl); - ::decode(seq, bl); - ::decode(t, bl); - prio = (clog_type)t; - ::decode(msg, bl); - if (struct_v >= 3) { - ::decode(channel, bl); - } else { - // prior to having logging channels we only had a cluster log. - // Ensure we keep that appearance when the other party has no - // clue of what a 'channel' is. - channel = CLOG_CHANNEL_CLUSTER; - } - if (struct_v >= 4) { - ::decode(name, bl); - } - DECODE_FINISH(bl); -} - -void LogEntry::dump(Formatter *f) const -{ - f->dump_stream("who") << who; - f->dump_stream("name") << name; - f->dump_stream("stamp") << stamp; - f->dump_unsigned("seq", seq); - f->dump_string("channel", channel); - f->dump_stream("priority") << prio; - f->dump_string("message", msg); -} - -void LogEntry::generate_test_instances(list& o) -{ - o.push_back(new LogEntry); -} - - -// ----- - -void LogSummary::encode(bufferlist& bl, uint64_t features) const -{ - ENCODE_START(2, 2, bl); - ::encode(version, bl); - ::encode(tail, bl, features); - ENCODE_FINISH(bl); -} - -void LogSummary::decode(bufferlist::iterator& bl) -{ - DECODE_START_LEGACY_COMPAT_LEN(2, 2, 2, bl); - ::decode(version, bl); - ::decode(tail, bl); - DECODE_FINISH(bl); - keys.clear(); - for (auto& p : tail) { - keys.insert(p.key()); - } -} - -void LogSummary::dump(Formatter *f) const -{ - f->dump_unsigned("version", version); - f->open_array_section("tail"); - for (list::const_iterator p = tail.begin(); p != tail.end(); ++p) { - f->open_object_section("entry"); - p->dump(f); - f->close_section(); - } - f->close_section(); -} - -void LogSummary::generate_test_instances(list& o) -{ - o.push_back(new LogSummary); - // more! -} -