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 UPLOAD_HILOG_WRAPPER_H 17 #define UPLOAD_HILOG_WRAPPER_H 18 19 #include "hilog/log.h" 20 21 namespace OHOS::Request::Upload { 22 // param of log interface, such as UPLOAD_HILOGF. 23 enum UploadSubModule { 24 UPLOAD_MODULE_INNERKIT = 0, 25 UPLOAD_MODULE_FRAMEWORK, 26 UPLOAD_MODULE_COMMON, 27 UPLOAD_MODULE_JS_NAPI, 28 UPLOAD_MODULE_TEST, 29 UPLOAD_MODULE_BUTT, 30 }; 31 32 // 0xD001C00: subsystem:miscservices module:upload_native, 8 bits reserved. 33 static constexpr unsigned int BASE_UPLOAD_DOMAIN_ID = 0xD001C00; 34 35 enum UploadDomainId { 36 UPLOAD_INNERKIT_DOMAIN = BASE_UPLOAD_DOMAIN_ID + UPLOAD_MODULE_INNERKIT, 37 UPLOAD_FRAMEWORK_DOMAIN, 38 UPLOAD_COMMON_DOMAIN, 39 UPLOAD_JS_NAPI, 40 UPLOAD_TEST, 41 UPLOAD_BUTT, 42 }; 43 44 static constexpr OHOS::HiviewDFX::HiLogLabel UPLOAD_MODULE_LABEL[UPLOAD_MODULE_BUTT] = { 45 {LOG_CORE, UPLOAD_INNERKIT_DOMAIN, "UploadInnerKit"}, 46 {LOG_CORE, UPLOAD_FRAMEWORK_DOMAIN, "UploadFramework"}, 47 {LOG_CORE, UPLOAD_COMMON_DOMAIN, "UploadCommon"}, 48 {LOG_CORE, UPLOAD_JS_NAPI, "UploadJSNAPI"}, 49 {LOG_CORE, UPLOAD_TEST, "UploadTest"}, 50 }; 51 52 #define FILENAME (__builtin_strrchr(__FILE__, '/') ? __builtin_strrchr(__FILE__, '/') + 1 : __FILE__) 53 #define FORMATED(fmt, ...) "[%{public}s] %{public}s# " fmt, FILENAME, __FUNCTION__, ##__VA_ARGS__ 54 55 // In order to improve performance, do not check the module range. 56 // Besides, make sure module is less than UPLOAD_MODULE_BUTT. 57 #define UPLOAD_HILOGF(module, ...) \ 58 (void)OHOS::HiviewDFX::HiLog::Fatal(UPLOAD_MODULE_LABEL[module], FORMATED(__VA_ARGS__)) 59 #define UPLOAD_HILOGE(module, ...) \ 60 (void)OHOS::HiviewDFX::HiLog::Error(UPLOAD_MODULE_LABEL[module], FORMATED(__VA_ARGS__)) 61 #define UPLOAD_HILOGW(module, ...) \ 62 (void)OHOS::HiviewDFX::HiLog::Warn(UPLOAD_MODULE_LABEL[module], FORMATED(__VA_ARGS__)) 63 #define UPLOAD_HILOGI(module, ...) \ 64 (void)OHOS::HiviewDFX::HiLog::Info(UPLOAD_MODULE_LABEL[module], FORMATED(__VA_ARGS__)) 65 #define UPLOAD_HILOGD(module, ...) \ 66 (void)OHOS::HiviewDFX::HiLog::Debug(UPLOAD_MODULE_LABEL[module], FORMATED(__VA_ARGS__)) 67 } // end of OHOS::Request::Upload 68 #endif // UPLOAD_HILOG_WRAPPER_H 69