Coverage Report

Created: 2025-12-26 20:02

/root/doris/cloud/src/common/logging.h
Line
Count
Source (jump to first uncovered line)
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
#pragma once
19
20
#include <butil/containers/linked_list.h>
21
#include <fmt/format.h>
22
#include <glog/logging.h>
23
24
#include <string_view>
25
#include <type_traits>
26
27
namespace doris::cloud {
28
29
bool init_glog(const char* basename);
30
31
/// Wrap a glog stream and tag on the log. usage:
32
///   LOG_INFO("here is an info for a {} query", query_type).tag("query_id", queryId);
33
216k
#define LOG_INFO(...) ::doris::cloud::TaggableLogger(LOG(INFO), ##__VA_ARGS__)
34
2.23k
#define LOG_WARNING(...) ::doris::cloud::TaggableLogger(LOG(WARNING), ##__VA_ARGS__)
35
6
#define LOG_ERROR(...) ::doris::cloud::TaggableLogger(LOG(ERROR), ##__VA_ARGS__)
36
0
#define LOG_FATAL(...) ::doris::cloud::TaggableLogger(LOG(FATAL), ##__VA_ARGS__)
37
38
class AnnotateTag final : public butil::LinkNode<AnnotateTag> {
39
    struct default_tag_t {};
40
    constexpr static default_tag_t default_tag {};
41
42
public:
43
    template <typename T, typename = std::enable_if_t<std::is_arithmetic_v<T>, T>>
44
    AnnotateTag(std::string_view key, T value)
45
1.37k
            : AnnotateTag(default_tag, key, std::to_string(value)) {}
_ZN5doris5cloud11AnnotateTagC2IllEESt17basic_string_viewIcSt11char_traitsIcEET_
Line
Count
Source
45
1.36k
            : AnnotateTag(default_tag, key, std::to_string(value)) {}
_ZN5doris5cloud11AnnotateTagC2IccEESt17basic_string_viewIcSt11char_traitsIcEET_
Line
Count
Source
45
1
            : AnnotateTag(default_tag, key, std::to_string(value)) {}
_ZN5doris5cloud11AnnotateTagC2IbbEESt17basic_string_viewIcSt11char_traitsIcEET_
Line
Count
Source
45
3
            : AnnotateTag(default_tag, key, std::to_string(value)) {}
_ZN5doris5cloud11AnnotateTagC2IaaEESt17basic_string_viewIcSt11char_traitsIcEET_
Line
Count
Source
45
1
            : AnnotateTag(default_tag, key, std::to_string(value)) {}
_ZN5doris5cloud11AnnotateTagC2IhhEESt17basic_string_viewIcSt11char_traitsIcEET_
Line
Count
Source
45
1
            : AnnotateTag(default_tag, key, std::to_string(value)) {}
_ZN5doris5cloud11AnnotateTagC2IssEESt17basic_string_viewIcSt11char_traitsIcEET_
Line
Count
Source
45
1
            : AnnotateTag(default_tag, key, std::to_string(value)) {}
_ZN5doris5cloud11AnnotateTagC2IttEESt17basic_string_viewIcSt11char_traitsIcEET_
Line
Count
Source
45
1
            : AnnotateTag(default_tag, key, std::to_string(value)) {}
_ZN5doris5cloud11AnnotateTagC2IiiEESt17basic_string_viewIcSt11char_traitsIcEET_
Line
Count
Source
45
1
            : AnnotateTag(default_tag, key, std::to_string(value)) {}
_ZN5doris5cloud11AnnotateTagC2IjjEESt17basic_string_viewIcSt11char_traitsIcEET_
Line
Count
Source
45
1
            : AnnotateTag(default_tag, key, std::to_string(value)) {}
_ZN5doris5cloud11AnnotateTagC2ImmEESt17basic_string_viewIcSt11char_traitsIcEET_
Line
Count
Source
45
1
            : AnnotateTag(default_tag, key, std::to_string(value)) {}
46
    AnnotateTag(std::string_view key, std::string_view value);
47
    ~AnnotateTag();
48
49
    static void format_tag_list(std::ostream& stream);
50
51
    static void* operator new(size_t) = delete;
52
    static void* operator new[](size_t) = delete;
53
54
private:
55
    explicit AnnotateTag(default_tag_t, std::string_view key, std::string value);
56
57
    std::string_view key_;
58
    std::string value_;
59
};
60
61
class TaggableLogger {
62
public:
63
    template <typename... Args>
64
218k
    TaggableLogger(std::ostream& stream, std::string_view fmt, Args&&... args) : stream_(stream) {
65
218k
        if constexpr (sizeof...(args) == 0) {
66
1.97k
            stream_ << fmt;
67
1.97k
        } else {
68
1.97k
            stream_ << fmt::format(fmt, std::forward<Args>(args)...);
69
1.97k
        }
70
218k
        AnnotateTag::format_tag_list(stream_);
71
218k
    };
_ZN5doris5cloud14TaggableLoggerC2IJEEERSoSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Line
Count
Source
64
216k
    TaggableLogger(std::ostream& stream, std::string_view fmt, Args&&... args) : stream_(stream) {
65
216k
        if constexpr (sizeof...(args) == 0) {
66
216k
            stream_ << fmt;
67
216k
        } else {
68
216k
            stream_ << fmt::format(fmt, std::forward<Args>(args)...);
69
216k
        }
70
216k
        AnnotateTag::format_tag_list(stream_);
71
216k
    };
_ZN5doris5cloud14TaggableLoggerC2IJRlEEERSoSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Line
Count
Source
64
216
    TaggableLogger(std::ostream& stream, std::string_view fmt, Args&&... args) : stream_(stream) {
65
216
        if constexpr (sizeof...(args) == 0) {
66
216
            stream_ << fmt;
67
216
        } else {
68
216
            stream_ << fmt::format(fmt, std::forward<Args>(args)...);
69
216
        }
70
216
        AnnotateTag::format_tag_list(stream_);
71
216
    };
Unexecuted instantiation: _ZN5doris5cloud14TaggableLoggerC2IJRKlEEERSoSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
_ZN5doris5cloud14TaggableLoggerC2IJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERS8_lRlRKS8_EEERSoSt17basic_string_viewIcS6_EDpOT_
Line
Count
Source
64
1
    TaggableLogger(std::ostream& stream, std::string_view fmt, Args&&... args) : stream_(stream) {
65
1
        if constexpr (sizeof...(args) == 0) {
66
1
            stream_ << fmt;
67
1
        } else {
68
1
            stream_ << fmt::format(fmt, std::forward<Args>(args)...);
69
1
        }
70
1
        AnnotateTag::format_tag_list(stream_);
71
1
    };
Unexecuted instantiation: _ZN5doris5cloud14TaggableLoggerC2IJRSt17basic_string_viewIcSt11char_traitsIcEEEEERSoS6_DpOT_
_ZN5doris5cloud14TaggableLoggerC2IJRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS8_S8_EEERSoSt17basic_string_viewIcS6_EDpOT_
Line
Count
Source
64
50
    TaggableLogger(std::ostream& stream, std::string_view fmt, Args&&... args) : stream_(stream) {
65
50
        if constexpr (sizeof...(args) == 0) {
66
50
            stream_ << fmt;
67
50
        } else {
68
50
            stream_ << fmt::format(fmt, std::forward<Args>(args)...);
69
50
        }
70
50
        AnnotateTag::format_tag_list(stream_);
71
50
    };
_ZN5doris5cloud14TaggableLoggerC2IJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEERSoSt17basic_string_viewIcS6_EDpOT_
Line
Count
Source
64
326
    TaggableLogger(std::ostream& stream, std::string_view fmt, Args&&... args) : stream_(stream) {
65
326
        if constexpr (sizeof...(args) == 0) {
66
326
            stream_ << fmt;
67
326
        } else {
68
326
            stream_ << fmt::format(fmt, std::forward<Args>(args)...);
69
326
        }
70
326
        AnnotateTag::format_tag_list(stream_);
71
326
    };
_ZN5doris5cloud14TaggableLoggerC2IJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_S8_EEERSoSt17basic_string_viewIcS6_EDpOT_
Line
Count
Source
64
2
    TaggableLogger(std::ostream& stream, std::string_view fmt, Args&&... args) : stream_(stream) {
65
2
        if constexpr (sizeof...(args) == 0) {
66
2
            stream_ << fmt;
67
2
        } else {
68
2
            stream_ << fmt::format(fmt, std::forward<Args>(args)...);
69
2
        }
70
2
        AnnotateTag::format_tag_list(stream_);
71
2
    };
Unexecuted instantiation: _ZN5doris5cloud14TaggableLoggerC2IJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_SA_EEERSoSt17basic_string_viewIcS6_EDpOT_
_ZN5doris5cloud14TaggableLoggerC2IJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEERSoSt17basic_string_viewIcS6_EDpOT_
Line
Count
Source
64
3
    TaggableLogger(std::ostream& stream, std::string_view fmt, Args&&... args) : stream_(stream) {
65
3
        if constexpr (sizeof...(args) == 0) {
66
3
            stream_ << fmt;
67
3
        } else {
68
3
            stream_ << fmt::format(fmt, std::forward<Args>(args)...);
69
3
        }
70
3
        AnnotateTag::format_tag_list(stream_);
71
3
    };
Unexecuted instantiation: _ZN5doris5cloud14TaggableLoggerC2IJiRiEEERSoSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
_ZN5doris5cloud14TaggableLoggerC2IJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEilEEERSoSt17basic_string_viewIcS6_EDpOT_
Line
Count
Source
64
2
    TaggableLogger(std::ostream& stream, std::string_view fmt, Args&&... args) : stream_(stream) {
65
2
        if constexpr (sizeof...(args) == 0) {
66
2
            stream_ << fmt;
67
2
        } else {
68
2
            stream_ << fmt::format(fmt, std::forward<Args>(args)...);
69
2
        }
70
2
        AnnotateTag::format_tag_list(stream_);
71
2
    };
Unexecuted instantiation: _ZN5doris5cloud14TaggableLoggerC2IJRiEEERSoSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Unexecuted instantiation: _ZN5doris5cloud14TaggableLoggerC2IJPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSA_EEERSoSt17basic_string_viewIcS8_EDpOT_
Unexecuted instantiation: _ZN5doris5cloud14TaggableLoggerC2IJRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiS9_S8_S9_EEERSoSt17basic_string_viewIcS6_EDpOT_
_ZN5doris5cloud14TaggableLoggerC2IJmRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEERSoSt17basic_string_viewIcS6_EDpOT_
Line
Count
Source
64
6
    TaggableLogger(std::ostream& stream, std::string_view fmt, Args&&... args) : stream_(stream) {
65
6
        if constexpr (sizeof...(args) == 0) {
66
6
            stream_ << fmt;
67
6
        } else {
68
6
            stream_ << fmt::format(fmt, std::forward<Args>(args)...);
69
6
        }
70
6
        AnnotateTag::format_tag_list(stream_);
71
6
    };
_ZN5doris5cloud14TaggableLoggerC2IJRNS0_12TxnErrorCodeEEEERSoSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Line
Count
Source
64
1
    TaggableLogger(std::ostream& stream, std::string_view fmt, Args&&... args) : stream_(stream) {
65
1
        if constexpr (sizeof...(args) == 0) {
66
1
            stream_ << fmt;
67
1
        } else {
68
1
            stream_ << fmt::format(fmt, std::forward<Args>(args)...);
69
1
        }
70
1
        AnnotateTag::format_tag_list(stream_);
71
1
    };
_ZN5doris5cloud14TaggableLoggerC2IJRfEEERSoSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Line
Count
Source
64
319
    TaggableLogger(std::ostream& stream, std::string_view fmt, Args&&... args) : stream_(stream) {
65
319
        if constexpr (sizeof...(args) == 0) {
66
319
            stream_ << fmt;
67
319
        } else {
68
319
            stream_ << fmt::format(fmt, std::forward<Args>(args)...);
69
319
        }
70
319
        AnnotateTag::format_tag_list(stream_);
71
319
    };
_ZN5doris5cloud14TaggableLoggerC2IJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_RKlRS8_SD_EEERSoSt17basic_string_viewIcS6_EDpOT_
Line
Count
Source
64
5
    TaggableLogger(std::ostream& stream, std::string_view fmt, Args&&... args) : stream_(stream) {
65
5
        if constexpr (sizeof...(args) == 0) {
66
5
            stream_ << fmt;
67
5
        } else {
68
5
            stream_ << fmt::format(fmt, std::forward<Args>(args)...);
69
5
        }
70
5
        AnnotateTag::format_tag_list(stream_);
71
5
    };
_ZN5doris5cloud14TaggableLoggerC2IJmmEEERSoSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Line
Count
Source
64
11
    TaggableLogger(std::ostream& stream, std::string_view fmt, Args&&... args) : stream_(stream) {
65
11
        if constexpr (sizeof...(args) == 0) {
66
11
            stream_ << fmt;
67
11
        } else {
68
11
            stream_ << fmt::format(fmt, std::forward<Args>(args)...);
69
11
        }
70
11
        AnnotateTag::format_tag_list(stream_);
71
11
    };
_ZN5doris5cloud14TaggableLoggerC2IJmRmlEEERSoSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Line
Count
Source
64
5
    TaggableLogger(std::ostream& stream, std::string_view fmt, Args&&... args) : stream_(stream) {
65
5
        if constexpr (sizeof...(args) == 0) {
66
5
            stream_ << fmt;
67
5
        } else {
68
5
            stream_ << fmt::format(fmt, std::forward<Args>(args)...);
69
5
        }
70
5
        AnnotateTag::format_tag_list(stream_);
71
5
    };
_ZN5doris5cloud14TaggableLoggerC2IJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERS8_EEERSoSt17basic_string_viewIcS6_EDpOT_
Line
Count
Source
64
1.02k
    TaggableLogger(std::ostream& stream, std::string_view fmt, Args&&... args) : stream_(stream) {
65
1.02k
        if constexpr (sizeof...(args) == 0) {
66
1.02k
            stream_ << fmt;
67
1.02k
        } else {
68
1.02k
            stream_ << fmt::format(fmt, std::forward<Args>(args)...);
69
1.02k
        }
70
1.02k
        AnnotateTag::format_tag_list(stream_);
71
1.02k
    };
_ZN5doris5cloud14TaggableLoggerC2IJmRmEEERSoSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Line
Count
Source
64
5
    TaggableLogger(std::ostream& stream, std::string_view fmt, Args&&... args) : stream_(stream) {
65
5
        if constexpr (sizeof...(args) == 0) {
66
5
            stream_ << fmt;
67
5
        } else {
68
5
            stream_ << fmt::format(fmt, std::forward<Args>(args)...);
69
5
        }
70
5
        AnnotateTag::format_tag_list(stream_);
71
5
    };
72
73
    template <typename V>
74
797k
    TaggableLogger& tag(std::string_view key, const V& value) {
75
797k
        stream_ << ' ' << key << '=';
76
797k
        if constexpr (std::is_convertible_v<V, std::string_view>) {
77
358k
            stream_ << '"' << value << '"';
78
358k
        } else {
79
358k
            stream_ << value;
80
358k
        }
81
797k
        return *this;
82
797k
    }
_ZN5doris5cloud14TaggableLogger3tagINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERS1_St17basic_string_viewIcS6_ERKT_
Line
Count
Source
74
438k
    TaggableLogger& tag(std::string_view key, const V& value) {
75
438k
        stream_ << ' ' << key << '=';
76
438k
        if constexpr (std::is_convertible_v<V, std::string_view>) {
77
438k
            stream_ << '"' << value << '"';
78
438k
        } else {
79
438k
            stream_ << value;
80
438k
        }
81
438k
        return *this;
82
438k
    }
Unexecuted instantiation: _ZN5doris5cloud14TaggableLogger3tagIhEERS1_St17basic_string_viewIcSt11char_traitsIcEERKT_
Unexecuted instantiation: _ZN5doris5cloud14TaggableLogger3tagItEERS1_St17basic_string_viewIcSt11char_traitsIcEERKT_
_ZN5doris5cloud14TaggableLogger3tagINS0_12TxnErrorCodeEEERS1_St17basic_string_viewIcSt11char_traitsIcEERKT_
Line
Count
Source
74
6
    TaggableLogger& tag(std::string_view key, const V& value) {
75
6
        stream_ << ' ' << key << '=';
76
6
        if constexpr (std::is_convertible_v<V, std::string_view>) {
77
6
            stream_ << '"' << value << '"';
78
6
        } else {
79
6
            stream_ << value;
80
6
        }
81
6
        return *this;
82
6
    }
_ZN5doris5cloud14TaggableLogger3tagIiEERS1_St17basic_string_viewIcSt11char_traitsIcEERKT_
Line
Count
Source
74
116k
    TaggableLogger& tag(std::string_view key, const V& value) {
75
116k
        stream_ << ' ' << key << '=';
76
116k
        if constexpr (std::is_convertible_v<V, std::string_view>) {
77
116k
            stream_ << '"' << value << '"';
78
116k
        } else {
79
116k
            stream_ << value;
80
116k
        }
81
116k
        return *this;
82
116k
    }
_ZN5doris5cloud14TaggableLogger3tagIPKcEERS1_St17basic_string_viewIcSt11char_traitsIcEERKT_
Line
Count
Source
74
3
    TaggableLogger& tag(std::string_view key, const V& value) {
75
3
        stream_ << ' ' << key << '=';
76
3
        if constexpr (std::is_convertible_v<V, std::string_view>) {
77
3
            stream_ << '"' << value << '"';
78
3
        } else {
79
3
            stream_ << value;
80
3
        }
81
3
        return *this;
82
3
    }
Unexecuted instantiation: _ZN5doris5cloud14TaggableLogger3tagIA38_cEERS1_St17basic_string_viewIcSt11char_traitsIcEERKT_
Unexecuted instantiation: _ZN5doris5cloud14TaggableLogger3tagIA33_cEERS1_St17basic_string_viewIcSt11char_traitsIcEERKT_
_ZN5doris5cloud14TaggableLogger3tagImEERS1_St17basic_string_viewIcSt11char_traitsIcEERKT_
Line
Count
Source
74
22.4k
    TaggableLogger& tag(std::string_view key, const V& value) {
75
22.4k
        stream_ << ' ' << key << '=';
76
22.4k
        if constexpr (std::is_convertible_v<V, std::string_view>) {
77
22.4k
            stream_ << '"' << value << '"';
78
22.4k
        } else {
79
22.4k
            stream_ << value;
80
22.4k
        }
81
22.4k
        return *this;
82
22.4k
    }
_ZN5doris5cloud14TaggableLogger3tagIlEERS1_St17basic_string_viewIcSt11char_traitsIcEERKT_
Line
Count
Source
74
219k
    TaggableLogger& tag(std::string_view key, const V& value) {
75
219k
        stream_ << ' ' << key << '=';
76
219k
        if constexpr (std::is_convertible_v<V, std::string_view>) {
77
219k
            stream_ << '"' << value << '"';
78
219k
        } else {
79
219k
            stream_ << value;
80
219k
        }
81
219k
        return *this;
82
219k
    }
_ZN5doris5cloud14TaggableLogger3tagISt17basic_string_viewIcSt11char_traitsIcEEEERS1_S6_RKT_
Line
Count
Source
74
47
    TaggableLogger& tag(std::string_view key, const V& value) {
75
47
        stream_ << ' ' << key << '=';
76
47
        if constexpr (std::is_convertible_v<V, std::string_view>) {
77
47
            stream_ << '"' << value << '"';
78
47
        } else {
79
47
            stream_ << value;
80
47
        }
81
47
        return *this;
82
47
    }
_ZN5doris5cloud14TaggableLogger3tagINS0_23RestoreJobCloudPB_StateEEERS1_St17basic_string_viewIcSt11char_traitsIcEERKT_
Line
Count
Source
74
20
    TaggableLogger& tag(std::string_view key, const V& value) {
75
20
        stream_ << ' ' << key << '=';
76
20
        if constexpr (std::is_convertible_v<V, std::string_view>) {
77
20
            stream_ << '"' << value << '"';
78
20
        } else {
79
20
            stream_ << value;
80
20
        }
81
20
        return *this;
82
20
    }
_ZN5doris5cloud14TaggableLogger3tagINS0_15MetaServiceCodeEEERS1_St17basic_string_viewIcSt11char_traitsIcEERKT_
Line
Count
Source
74
370
    TaggableLogger& tag(std::string_view key, const V& value) {
75
370
        stream_ << ' ' << key << '=';
76
370
        if constexpr (std::is_convertible_v<V, std::string_view>) {
77
370
            stream_ << '"' << value << '"';
78
370
        } else {
79
370
            stream_ << value;
80
370
        }
81
370
        return *this;
82
370
    }
_ZN5doris5cloud14TaggableLogger3tagIjEERS1_St17basic_string_viewIcSt11char_traitsIcEERKT_
Line
Count
Source
74
10
    TaggableLogger& tag(std::string_view key, const V& value) {
75
10
        stream_ << ' ' << key << '=';
76
10
        if constexpr (std::is_convertible_v<V, std::string_view>) {
77
10
            stream_ << '"' << value << '"';
78
10
        } else {
79
10
            stream_ << value;
80
10
        }
81
10
        return *this;
82
10
    }
_ZN5doris5cloud14TaggableLogger3tagIbEERS1_St17basic_string_viewIcSt11char_traitsIcEERKT_
Line
Count
Source
74
48
    TaggableLogger& tag(std::string_view key, const V& value) {
75
48
        stream_ << ' ' << key << '=';
76
48
        if constexpr (std::is_convertible_v<V, std::string_view>) {
77
48
            stream_ << '"' << value << '"';
78
48
        } else {
79
48
            stream_ << value;
80
48
        }
81
48
        return *this;
82
48
    }
Unexecuted instantiation: _ZN5doris5cloud14TaggableLogger3tagIA21_cEERS1_St17basic_string_viewIcSt11char_traitsIcEERKT_
_ZN5doris5cloud14TaggableLogger3tagISt6atomicIlEEERS1_St17basic_string_viewIcSt11char_traitsIcEERKT_
Line
Count
Source
74
86
    TaggableLogger& tag(std::string_view key, const V& value) {
75
86
        stream_ << ' ' << key << '=';
76
86
        if constexpr (std::is_convertible_v<V, std::string_view>) {
77
86
            stream_ << '"' << value << '"';
78
86
        } else {
79
86
            stream_ << value;
80
86
        }
81
86
        return *this;
82
86
    }
Unexecuted instantiation: _ZN5doris5cloud14TaggableLogger3tagIA43_cEERS1_St17basic_string_viewIcSt11char_traitsIcEERKT_
Unexecuted instantiation: _ZN5doris5cloud14TaggableLogger3tagINS0_18MultiVersionStatusEEERS1_St17basic_string_viewIcSt11char_traitsIcEERKT_
83
84
private:
85
    std::ostream& stream_;
86
};
87
88
} // namespace doris::cloud
89
90
// To keep it simple and practical, we don't actually need so many VLOG levels.
91
// Using `VLOG(${number})` is confusing and hard to desid in most cases, all we
92
// need is a complementary debug level to glog's default 4 levels of logging.
93
// "One VLOG level to rule them all!"
94
#define DEBUG 5
95
// VLOG_DEBUG is alias of VLOG(DEBUG) I.O.W VLOG(5)
96
14
#define VLOG_DEBUG VLOG(DEBUG)