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 OHOS_CLOUD_OAID_HILOG_WRAPPER_H 17#define OHOS_CLOUD_OAID_HILOG_WRAPPER_H 18 19#include "hilog/log.h" 20 21namespace OHOS { 22namespace Cloud { 23// param of log interface, such as OAID_HILOGF. 24enum OAIDSubModule { 25 OAID_MODULE_INNERKIT = 0, 26 OAID_MODULE_CLIENT, 27 OAID_MODULE_SERVICE, 28 OAID_MODULE_JAVAKIT, // java kit, defined to avoid repeated use of domain. 29 OAID_MODULE_JNI, 30 OAID_MODULE_COMMON, 31 OAID_MODULE_JS_NAPI, 32 OAID_MODULE_TEST, 33 OAID_MODULE_BUTT, 34}; 35 36static constexpr unsigned int OAID_DOMAIN_ID = 0xD004701; 37 38static constexpr OHOS::HiviewDFX::HiLogLabel OAID_MODULE_LABEL[OAID_MODULE_BUTT] = { 39 { LOG_CORE, OAID_DOMAIN_ID, "OAIDInnerKit" }, 40 { LOG_CORE, OAID_DOMAIN_ID, "OAIDClient" }, 41 { LOG_CORE, OAID_DOMAIN_ID, "OAIDService" }, 42 { LOG_CORE, OAID_DOMAIN_ID, "OAIDJavaKit" }, 43 { LOG_CORE, OAID_DOMAIN_ID, "OAIDJni" }, 44 { LOG_CORE, OAID_DOMAIN_ID, "OAIDCommon" }, 45 { LOG_CORE, OAID_DOMAIN_ID, "OAIDJSNAPI" }, 46 { LOG_CORE, OAID_DOMAIN_ID, "OAIDTest" }, 47}; 48 49#define R_FILENAME (__builtin_strrchr(__FILE__, '/') ? __builtin_strrchr(__FILE__, '/') + 1 : __FILE__) 50#define R_FORMATED(fmt, ...) "[%{public}s] %{public}s# " fmt, R_FILENAME, __FUNCTION__, ##__VA_ARGS__ 51 52// In order to improve performance, do not check the module range. 53// Besides, make sure module is less than OAID_MODULE_BUTT. 54#define OAID_HILOGF(module, ...) \ 55 (void)OHOS::HiviewDFX::HiLog::Fatal(OHOS::Cloud::OAID_MODULE_LABEL[module], R_FORMATED(__VA_ARGS__)) 56#define OAID_HILOGE(module, ...) \ 57 (void)OHOS::HiviewDFX::HiLog::Error(OHOS::Cloud::OAID_MODULE_LABEL[module], R_FORMATED(__VA_ARGS__)) 58#define OAID_HILOGW(module, ...) \ 59 (void)OHOS::HiviewDFX::HiLog::Warn(OHOS::Cloud::OAID_MODULE_LABEL[module], R_FORMATED(__VA_ARGS__)) 60#define OAID_HILOGI(module, ...) \ 61 (void)OHOS::HiviewDFX::HiLog::Info(OHOS::Cloud::OAID_MODULE_LABEL[module], R_FORMATED(__VA_ARGS__)) 62#define OAID_HILOGD(module, ...) \ 63 (void)OHOS::HiviewDFX::HiLog::Debug(OHOS::Cloud::OAID_MODULE_LABEL[module], R_FORMATED(__VA_ARGS__)) 64} // namespace Cloud 65} // namespace OHOS 66#endif // OHOS_CLOUD_OAID_HILOG_WRAPPER_H 67