1 /* 2 * Copyright (c) 2022 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 USERIDM_HILOG_WRAPPER_H 17 #define USERIDM_HILOG_WRAPPER_H 18 19 #define CONFIG_HILOG 20 #ifdef CONFIG_HILOG 21 22 #include "hilog/log.h" 23 24 namespace OHOS { 25 namespace UserIAM { 26 namespace UserIDM { 27 #define filename__ (__builtin_strrchr(__FILE__, '/') ? __builtin_strrchr(__FILE__, '/') + 1 : __FILE__) 28 #define formated__(fmt, ...) "[%{public}s] %{public}s# " fmt, filename__, __FUNCTION__, ##__VA_ARGS__ 29 30 #ifdef USERIDM_HILOGF 31 #undef USERIDM_HILOGF 32 #endif 33 34 #ifdef USERIDM_HILOGE 35 #undef USERIDM_HILOGE 36 #endif 37 38 #ifdef USERIDM_HILOGW 39 #undef USERIDM_HILOGW 40 #endif 41 42 #ifdef USERIDM_HILOGI 43 #undef USERIDM_HILOGI 44 #endif 45 46 #ifdef USERIDM_HILOGD 47 #undef USERIDM_HILOGD 48 #endif 49 50 enum UserIDMSubModule { 51 MODULE_CLIENT = 0, 52 MODULE_SERVICE, 53 MODULE_COMMON, 54 MODULE_JS_NAPI, 55 USERIDM_MODULE_BUTT, 56 }; 57 58 static constexpr unsigned int BASE_USERIDM_DOMAIN_ID = 0xD002910; 59 60 enum UserIDMDomainId { 61 USERIDM_INNERKIT_DOMAIN = BASE_USERIDM_DOMAIN_ID + MODULE_CLIENT, 62 USERIDM_SERVICE_DOMAIN, 63 COMMON_DOMAIN, 64 USERIDM_JS_NAPI, 65 USERIDM_BUTT, 66 }; 67 68 static constexpr OHOS::HiviewDFX::HiLogLabel USERIDM_LABEL[USERIDM_MODULE_BUTT] = { 69 {LOG_CORE, USERIDM_INNERKIT_DOMAIN, "UserIDMClient"}, 70 {LOG_CORE, USERIDM_SERVICE_DOMAIN, "UserIDMService"}, 71 {LOG_CORE, COMMON_DOMAIN, "UserIDMCommon"}, 72 {LOG_CORE, USERIDM_JS_NAPI, "UserIDMJSNAPI"}, 73 }; 74 75 // In order to improve performance, do not check the module range. 76 // Besides, make sure module is less than USERIDM_MODULE_BUTT. 77 #define USERIDM_HILOGF(module, ...) (void)OHOS::HiviewDFX::HiLog::Fatal(USERIDM_LABEL[module], formated__(__VA_ARGS__)) 78 #define USERIDM_HILOGE(module, ...) (void)OHOS::HiviewDFX::HiLog::Error(USERIDM_LABEL[module], formated__(__VA_ARGS__)) 79 #define USERIDM_HILOGW(module, ...) (void)OHOS::HiviewDFX::HiLog::Warn(USERIDM_LABEL[module], formated__(__VA_ARGS__)) 80 #define USERIDM_HILOGI(module, ...) (void)OHOS::HiviewDFX::HiLog::Info(USERIDM_LABEL[module], formated__(__VA_ARGS__)) 81 #define USERIDM_HILOGD(module, ...) (void)OHOS::HiviewDFX::HiLog::Debug(USERIDM_LABEL[module], formated__(__VA_ARGS__)) 82 } // namespace UserIDM 83 } // namespace UserIAM 84 } // namespace OHOS 85 86 #else 87 88 #define USERIDM_HILOGF(...) 89 #define USERIDM_HILOGE(...) 90 #define USERIDM_HILOGW(...) 91 #define USERIDM_HILOGI(...) 92 #define USERIDM_HILOGD(...) 93 94 #endif // CONFIG_HILOG 95 96 #endif // USERIDM_HILOG_WRAPPER_H 97