1/* 2 * Copyright (c) 2021-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 INTERFACES_KITS_JS_SRC_COMMON_LOG_H 17#define INTERFACES_KITS_JS_SRC_COMMON_LOG_H 18 19#include <cstdio> 20#include <string> 21#include <vector> 22 23#ifndef FILE_SUBSYSTEM_DEBUG_LOCAL 24#include "hilog/log.h" 25#endif 26 27namespace OHOS { 28namespace DistributedFS { 29#ifndef FILE_SUBSYSTEM_DEBUG_LOCAL 30#define FILEIO_DOMAIN_ID 0xD004388 31static constexpr OHOS::HiviewDFX::HiLogLabel FILEIO_LABEL = { LOG_CORE, FILEIO_DOMAIN_ID, "file_api" }; 32 33#ifdef HILOGD 34#undef HILOGD 35#endif 36 37#ifdef HILOGF 38#undef HILOGF 39#endif 40 41#ifdef HILOGE 42#undef HILOGE 43#endif 44 45#ifdef HILOGW 46#undef HILOGW 47#endif 48 49#ifdef HILOGI 50#undef HILOGI 51#endif 52 53#define HILOGD(fmt, ...) \ 54 (void)OHOS::HiviewDFX::HiLog::Debug(OHOS::DistributedFS::FILEIO_LABEL, "%{public}s: " fmt, __func__, ##__VA_ARGS__) 55#define HILOGI(fmt, ...) \ 56 (void)OHOS::HiviewDFX::HiLog::Info(OHOS::DistributedFS::FILEIO_LABEL, "%{public}s: " fmt, __func__, ##__VA_ARGS__) 57#define HILOGW(fmt, ...) \ 58 (void)OHOS::HiviewDFX::HiLog::Warn(OHOS::DistributedFS::FILEIO_LABEL, "%{public}s: " fmt, __func__, ##__VA_ARGS__) 59#define HILOGE(fmt, ...) \ 60 (void)OHOS::HiviewDFX::HiLog::Error(OHOS::DistributedFS::FILEIO_LABEL, "%{public}s: " fmt, __func__, ##__VA_ARGS__) 61#define HILOGF(fmt, ...) \ 62 (void)OHOS::HiviewDFX::HiLog::Fatal(OHOS::DistributedFS::FILEIO_LABEL, "%{public}s: " fmt, __func__, ##__VA_ARGS__) 63 64#else 65 66#define HILOGF(fmt, ...) \ 67 ((void)HILOG_IMPL(LOG_CORE, LOG_FATAL, FILEIO_DOMAIN_ID, FILEMGMT_LOG_TAG, \ 68 "[%{public}s:%{public}d->%{public}s] " fmt, FILEMGMT_FILE_NAME, __LINE__, __FUNCTION__, ##__VA_ARGS__)) 69#define HILOGE(fmt, ...) \ 70 ((void)HILOG_IMPL(LOG_CORE, LOG_ERROR, FILEIO_DOMAIN_ID, FILEMGMT_LOG_TAG, \ 71 "[%{public}s:%{public}d->%{public}s] " fmt, FILEMGMT_FILE_NAME, __LINE__, __FUNCTION__, ##__VA_ARGS__)) 72#define HILOGW(fmt, ...) \ 73 ((void)HILOG_IMPL(LOG_CORE, LOG_WARN, FILEIO_DOMAIN_ID, FILEMGMT_LOG_TAG, \ 74 "[%{public}s:%{public}d->%{public}s] " fmt, FILEMGMT_FILE_NAME, __LINE__, __FUNCTION__, ##__VA_ARGS__)) 75#define HILOGI(fmt, ...) \ 76 ((void)HILOG_IMPL(LOG_CORE, LOG_INFO, FILEIO_DOMAIN_ID, FILEMGMT_LOG_TAG, \ 77 "[%{public}s:%{public}d->%{public}s] " fmt, FILEMGMT_FILE_NAME, __LINE__, __FUNCTION__, ##__VA_ARGS__)) 78#define HILOGD(fmt, ...) \ 79 ((void)HILOG_IMPL(LOG_CORE, LOG_DEBUG, FILEIO_DOMAIN_ID, FILEMGMT_LOG_TAG, \ 80 "[%{public}s:%{public}d->%{public}s] " fmt, FILEMGMT_FILE_NAME, __LINE__, __FUNCTION__, ##__VA_ARGS__)) 81 82#endif 83} // namespace DistributedFS 84} // namespace OHOS 85#endif // INTERFACES_KITS_JS_SRC_COMMON_LOG_H