X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fcommon%2FLogEntry.h;fp=src%2Fceph%2Fsrc%2Fcommon%2FLogEntry.h;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=a25f9c38150d7a8fde1ca84449d94f2bf5681262;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/common/LogEntry.h b/src/ceph/src/common/LogEntry.h deleted file mode 100644 index a25f9c3..0000000 --- a/src/ceph/src/common/LogEntry.h +++ /dev/null @@ -1,175 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab -/* - * Ceph - scalable distributed file system - * - * Copyright (C) 2004-2006 Sage Weil - * - * This is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software - * Foundation. See file COPYING. - * - */ - -#ifndef CEPH_LOGENTRY_H -#define CEPH_LOGENTRY_H - -#include "include/utime.h" -#include "msg/msg_types.h" // for entity_inst_t -#include "common/entity_name.h" - -namespace ceph { - class Formatter; -} - -typedef enum { - CLOG_DEBUG = 0, - CLOG_INFO = 1, - CLOG_SEC = 2, - CLOG_WARN = 3, - CLOG_ERROR = 4, - CLOG_UNKNOWN = -1, -} clog_type; - -static const std::string CLOG_CHANNEL_NONE = "none"; -static const std::string CLOG_CHANNEL_DEFAULT = "cluster"; -static const std::string CLOG_CHANNEL_CLUSTER = "cluster"; -static const std::string CLOG_CHANNEL_AUDIT = "audit"; - -// this is the key name used in the config options for the default, e.g. -// default=true foo=false bar=false -static const std::string CLOG_CONFIG_DEFAULT_KEY = "default"; - -/* - * Given a clog log_type, return the equivalent syslog priority - */ -int clog_type_to_syslog_level(clog_type t); - -clog_type string_to_clog_type(const string& s); -int string_to_syslog_level(string s); -int string_to_syslog_facility(string s); - -string clog_type_to_string(clog_type t); - - -struct LogEntryKey { -private: - uint64_t _hash = 0; - - void _calc_hash() { - hash h; - _hash = seq + h(who); - } - - entity_inst_t who; - utime_t stamp; - uint64_t seq = 0; - -public: - LogEntryKey() {} - LogEntryKey(const entity_inst_t& w, utime_t t, uint64_t s) - : who(w), stamp(t), seq(s) { - _calc_hash(); - } - - uint64_t get_hash() const { - return _hash; - } - - void encode(bufferlist& bl, uint64_t features) const; - void decode(bufferlist::iterator& bl); - void dump(Formatter *f) const; - static void generate_test_instances(list& o); - - friend bool operator==(const LogEntryKey& l, const LogEntryKey& r) { - return l.who == r.who && l.stamp == r.stamp && l.seq == r.seq; - } -}; -WRITE_CLASS_ENCODER_FEATURES(LogEntryKey) - -namespace std { - template<> struct hash { - size_t operator()(const LogEntryKey& r) const { - return r.get_hash(); - } - }; -} // namespace std - -struct LogEntry { - entity_inst_t who; - EntityName name; - utime_t stamp; - uint64_t seq; - clog_type prio; - string msg; - string channel; - - LogEntry() : seq(0), prio(CLOG_DEBUG) {} - - LogEntryKey key() const { return LogEntryKey(who, stamp, seq); } - - void log_to_syslog(string level, string facility); - - void encode(bufferlist& bl, uint64_t features) const; - void decode(bufferlist::iterator& bl); - void dump(Formatter *f) const; - static void generate_test_instances(list& o); - static clog_type str_to_level(std::string const &str); -}; -WRITE_CLASS_ENCODER_FEATURES(LogEntry) - -struct LogSummary { - version_t version; - list tail; - ceph::unordered_set keys; - - LogSummary() : version(0) {} - - void add(const LogEntry& e) { - tail.push_back(e); - keys.insert(tail.back().key()); - } - void prune(size_t max) { - while (tail.size() > max) { - keys.erase(tail.front().key()); - tail.pop_front(); - } - } - bool contains(const LogEntryKey& k) const { - return keys.count(k); - } - - void encode(bufferlist& bl, uint64_t features) const; - void decode(bufferlist::iterator& bl); - void dump(Formatter *f) const; - static void generate_test_instances(list& o); -}; -WRITE_CLASS_ENCODER_FEATURES(LogSummary) - -inline ostream& operator<<(ostream& out, const clog_type t) -{ - switch (t) { - case CLOG_DEBUG: - return out << "[DBG]"; - case CLOG_INFO: - return out << "[INF]"; - case CLOG_SEC: - return out << "[SEC]"; - case CLOG_WARN: - return out << "[WRN]"; - case CLOG_ERROR: - return out << "[ERR]"; - default: - return out << "[???]"; - } -} - -inline ostream& operator<<(ostream& out, const LogEntry& e) -{ - return out << e.stamp << " " << e.name << " " << e.who - << " " << e.seq << " : " - << e.channel << " " << e.prio << " " << e.msg; -} - -#endif