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 #ifndef APP_DOMAIN_VERIFY_HILOG_H 16 #define APP_DOMAIN_VERIFY_HILOG_H 17 18 #include <string> 19 #include "hilog/log.h" 20 21 namespace OHOS { 22 namespace AppDomainVerify { 23 24 // param of log interface. 25 enum AppDomainVerifySubModule { 26 APP_DOMAIN_VERIFY_MODULE_EXTENSION = 0, 27 APP_DOMAIN_VERIFY_MGR_MODULE_CLIENT, 28 APP_DOMAIN_VERIFY_AGENT_MODULE_CLIENT, 29 APP_DOMAIN_VERIFY_MGR_MODULE_SERVICE, 30 APP_DOMAIN_VERIFY_AGENT_MODULE_SERVICE, 31 APP_DOMAIN_VERIFY_MODULE_JS_NAPI, 32 APP_DOMAIN_VERIFY_MODULE_COMMON, 33 APP_DOMAIN_VERIFY_MODULE_BUTT, 34 }; 35 36 static constexpr unsigned int APP_DOMAIN_VERIFY_DOMAIN_ID = 0xD0011FD; 37 38 static constexpr const char* APP_DOMAIN_VERIFY_MODULE_LABEL[APP_DOMAIN_VERIFY_MODULE_BUTT + 1] = { 39 "ADVExt", 40 "ADVMgrClient", 41 "ADVAgtClient", 42 "ADVMgrSrv", 43 "ADVAgtSrv", 44 "ADVNapi", 45 "ADVComm", 46 "ADVButt", 47 }; 48 #ifdef IS_RELEASE_VERSION 49 #ifndef APP_DOMAIN_VERIFY_FUNC_FMT 50 #define APP_DOMAIN_VERIFY_FUNC_FMT "[(%{public}s:%{public}d)]" 51 #endif 52 53 #ifndef APP_DOMAIN_VERIFY_FUNC_INFO 54 #define APP_DOMAIN_VERIFY_FUNC_INFO __FUNCTION__, __LINE__ 55 #endif 56 #else // IS_RELEASE_VERSION 57 #ifndef APP_DOMAIN_VERIFY_FUNC_FMT 58 #define APP_DOMAIN_VERIFY_FUNC_FMT "[%{public}s(%{public}s:%{public}d)]" 59 #endif 60 61 #ifndef APP_DOMAIN_VERIFY_FILE_NAME 62 #define APP_DOMAIN_VERIFY_FILE_NAME \ 63 (__builtin_strrchr(__FILE_NAME__, '/') ? __builtin_strrchr(__FILE_NAME__, '/') + 1 : __FILE_NAME__) 64 #endif 65 66 #ifndef APP_DOMAIN_VERIFY_FUNC_INFO 67 #define APP_DOMAIN_VERIFY_FUNC_INFO APP_DOMAIN_VERIFY_FILE_NAME, __FUNCTION__, __LINE__ 68 #endif 69 #endif // IS_RELEASE_VERSION 70 71 #define APP_DOMAIN_VERIFY_PRINT_LOG(level, label, fmt, ...) \ 72 ((void)HILOG_IMPL(LOG_CORE, level, APP_DOMAIN_VERIFY_DOMAIN_ID, APP_DOMAIN_VERIFY_MODULE_LABEL[label], \ 73 APP_DOMAIN_VERIFY_FUNC_FMT fmt, APP_DOMAIN_VERIFY_FUNC_INFO, ##__VA_ARGS__)) 74 75 #define APP_DOMAIN_VERIFY_HILOGD(label, fmt, ...) APP_DOMAIN_VERIFY_PRINT_LOG(LOG_DEBUG, label, fmt, ##__VA_ARGS__) 76 #define APP_DOMAIN_VERIFY_HILOGI(label, fmt, ...) APP_DOMAIN_VERIFY_PRINT_LOG(LOG_INFO, label, fmt, ##__VA_ARGS__) 77 #define APP_DOMAIN_VERIFY_HILOGW(label, fmt, ...) APP_DOMAIN_VERIFY_PRINT_LOG(LOG_WARN, label, fmt, ##__VA_ARGS__) 78 #define APP_DOMAIN_VERIFY_HILOGE(label, fmt, ...) APP_DOMAIN_VERIFY_PRINT_LOG(LOG_ERROR, label, fmt, ##__VA_ARGS__) 79 #define APP_DOMAIN_VERIFY_HILOGF(label, fmt, ...) APP_DOMAIN_VERIFY_PRINT_LOG(LOG_FATAL, label, fmt, ##__VA_ARGS__) 80 81 } // namespace AppDomainVerify 82 } // namespace OHOS 83 84 #endif // APP_DOMAIN_VERIFY_HILOG_H 85