1 /*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #ifndef RDB_LOGGER_H
17 #define RDB_LOGGER_H
18
19 #include "hilog/log.h"
20
21 namespace OHOS {
22 namespace Rdb {
LogLabel()23 static inline OHOS::HiviewDFX::HiLogLabel LogLabel()
24 {
25 return { LOG_CORE, 0xD001650, "Rdb" };
26 }
27 } // namespace Rdb
28
29 namespace RdbNdk {
LogLabel()30 static inline OHOS::HiviewDFX::HiLogLabel LogLabel()
31 {
32 return { LOG_CORE, 0xD001656, "RdbNdk" };
33 }
34 } // namespace RdbNdk
35
36 namespace SendableRdb {
LogLabel()37 static inline OHOS::HiviewDFX::HiLogLabel LogLabel()
38 {
39 return { LOG_CORE, 0xD001650, "SRdb" };
40 }
41 } // namespace Rdb
42 } // namespace OHOS
43
44 #define LOG_DEBUG(fmt, ...) \
45 do { \
46 auto lable = LogLabel(); \
47 if (HiLogIsLoggable(lable.domain, lable.tag, LogLevel::LOG_DEBUG)) { \
48 ((void)HILOG_IMPL(lable.type, LOG_DEBUG, lable.domain, lable.tag, \
49 LOG_TAG "[%{public}s]: " fmt, __FUNCTION__, ##__VA_ARGS__)); \
50 } \
51 } while (0)
52
53 #define LOG_INFO(fmt, ...) \
54 do { \
55 auto lable = LogLabel(); \
56 if (HiLogIsLoggable(lable.domain, lable.tag, LogLevel::LOG_INFO)) { \
57 ((void)HILOG_IMPL(lable.type, LOG_INFO, lable.domain, lable.tag, \
58 LOG_TAG "[%{public}s]: " fmt, __FUNCTION__, ##__VA_ARGS__)); \
59 } \
60 } while (0)
61
62 #define LOG_WARN(fmt, ...) \
63 do { \
64 auto lable = LogLabel(); \
65 if (HiLogIsLoggable(lable.domain, lable.tag, LogLevel::LOG_WARN)) { \
66 ((void)HILOG_IMPL(lable.type, LOG_WARN, lable.domain, lable.tag, \
67 LOG_TAG "[%{public}s]: " fmt, __FUNCTION__, ##__VA_ARGS__)); \
68 } \
69 } while (0)
70
71 #define LOG_ERROR(fmt, ...) \
72 do { \
73 auto lable = LogLabel(); \
74 if (HiLogIsLoggable(lable.domain, lable.tag, LogLevel::LOG_ERROR)) { \
75 ((void)HILOG_IMPL(lable.type, LOG_ERROR, lable.domain, lable.tag, \
76 LOG_TAG "[%{public}s]: " fmt, __FUNCTION__, ##__VA_ARGS__)); \
77 } \
78 } while (0)
79
80 #define LOG_FATAL(fmt, ...) \
81 do { \
82 auto lable = LogLabel(); \
83 if (HiLogIsLoggable(lable.domain, lable.tag, LogLevel::LOG_FATAL)) { \
84 ((void)HILOG_IMPL(lable.type, LOG_FATAL, lable.domain, lable.tag, \
85 LOG_TAG "[%{public}s]: " fmt, __FUNCTION__, ##__VA_ARGS__)); \
86 } \
87 } while (0)
88
89 #endif // RDB_LOGGER_H
90