]>
git.proxmox.com Git - ceph.git/blob - ceph/src/log/SubsystemMap.h
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 #ifndef CEPH_LOG_SUBSYSTEMS
5 #define CEPH_LOG_SUBSYSTEMS
10 #include "include/assert.h"
16 int log_level
, gather_level
;
19 Subsystem() : log_level(0), gather_level(0) {}
23 std::vector
<Subsystem
> m_subsys
;
24 unsigned m_max_name_len
;
29 SubsystemMap() : m_max_name_len(0) {}
32 return m_subsys
.size();
35 int get_max_subsys_len() const {
36 return m_max_name_len
;
39 void add(unsigned subsys
, std::string name
, int log
, int gather
);
40 void set_log_level(unsigned subsys
, int log
);
41 void set_gather_level(unsigned subsys
, int gather
);
43 int get_log_level(unsigned subsys
) const {
44 if (subsys
>= m_subsys
.size())
46 return m_subsys
[subsys
].log_level
;
49 int get_gather_level(unsigned subsys
) const {
50 if (subsys
>= m_subsys
.size())
52 return m_subsys
[subsys
].gather_level
;
55 const std::string
& get_name(unsigned subsys
) const {
56 if (subsys
>= m_subsys
.size())
58 return m_subsys
[subsys
].name
;
61 bool should_gather(unsigned sub
, int level
) {
62 assert(sub
< m_subsys
.size());
63 return level
<= m_subsys
[sub
].gather_level
||
64 level
<= m_subsys
[sub
].log_level
;