14f7ff21fSopenharmony_ci/* 24f7ff21fSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 34f7ff21fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 44f7ff21fSopenharmony_ci * you may not use this file except in compliance with the License. 54f7ff21fSopenharmony_ci * You may obtain a copy of the License at 64f7ff21fSopenharmony_ci * 74f7ff21fSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 84f7ff21fSopenharmony_ci * 94f7ff21fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 104f7ff21fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 114f7ff21fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 124f7ff21fSopenharmony_ci * See the License for the specific language governing permissions and 134f7ff21fSopenharmony_ci * limitations under the License. 144f7ff21fSopenharmony_ci */ 154f7ff21fSopenharmony_ci#ifndef IAM_LOGGER_H 164f7ff21fSopenharmony_ci#define IAM_LOGGER_H 174f7ff21fSopenharmony_ci 184f7ff21fSopenharmony_ci#include "hilog/log.h" 194f7ff21fSopenharmony_cinamespace OHOS { 204f7ff21fSopenharmony_cinamespace UserIam { 214f7ff21fSopenharmony_cinamespace Common { 224f7ff21fSopenharmony_ci#ifdef __FILE_NAME__ 234f7ff21fSopenharmony_ci#define FINGERPRINT_AUTH_LOG_FILE __FILE_NAME__ 244f7ff21fSopenharmony_ci#else 254f7ff21fSopenharmony_ci#define FINGERPRINT_AUTH_LOG_FILE (__builtin_strrchr(__FILE__, '/') ? __builtin_strrchr(__FILE__, '/') + 1 : __FILE__) 264f7ff21fSopenharmony_ci#endif 274f7ff21fSopenharmony_ci 284f7ff21fSopenharmony_ci#ifdef LOG_DOMAIN 294f7ff21fSopenharmony_ci#undef LOG_DOMAIN 304f7ff21fSopenharmony_ci#endif 314f7ff21fSopenharmony_ci 324f7ff21fSopenharmony_ci#define LOG_DOMAIN 0xD002405 334f7ff21fSopenharmony_ci 344f7ff21fSopenharmony_ci#ifdef LOG_TAG 354f7ff21fSopenharmony_ci#undef LOG_TAG 364f7ff21fSopenharmony_ci#endif 374f7ff21fSopenharmony_ci 384f7ff21fSopenharmony_ci#define FINGERPRINT_LOG_DEBUG(...) HILOG_DEBUG(LOG_CORE, __VA_ARGS__) 394f7ff21fSopenharmony_ci#define FINGERPRINT_LOG_INFO(...) HILOG_INFO(LOG_CORE, __VA_ARGS__) 404f7ff21fSopenharmony_ci#define FINGERPRINT_LOG_WARN(...) HILOG_WARN(LOG_CORE, __VA_ARGS__) 414f7ff21fSopenharmony_ci#define FINGERPRINT_LOG_ERROR(...) HILOG_ERROR(LOG_CORE, __VA_ARGS__) 424f7ff21fSopenharmony_ci#define FINGERPRINT_LOG_FATAL(...) HILOG_FATAL(LOG_CORE, __VA_ARGS__) 434f7ff21fSopenharmony_ci 444f7ff21fSopenharmony_ci#define ARGS(fmt, ...) \ 454f7ff21fSopenharmony_ci "[%{public}s@%{public}s:%{public}d] " fmt, __FUNCTION__, FINGERPRINT_AUTH_LOG_FILE, __LINE__, ##__VA_ARGS__ 464f7ff21fSopenharmony_ci#define FINGERPRINT_LOG(level, ...) FINGERPRINT_LOG_##level(ARGS(__VA_ARGS__)) 474f7ff21fSopenharmony_ci 484f7ff21fSopenharmony_ci#define IAM_LOGD(...) FINGERPRINT_LOG(DEBUG, __VA_ARGS__) 494f7ff21fSopenharmony_ci#define IAM_LOGI(...) FINGERPRINT_LOG(INFO, __VA_ARGS__) 504f7ff21fSopenharmony_ci#define IAM_LOGW(...) FINGERPRINT_LOG(WARN, __VA_ARGS__) 514f7ff21fSopenharmony_ci#define IAM_LOGE(...) FINGERPRINT_LOG(ERROR, __VA_ARGS__) 524f7ff21fSopenharmony_ci#define IAM_LOGF(...) FINGERPRINT_LOG(FATAL, __VA_ARGS__) 534f7ff21fSopenharmony_ci} // namespace Common 544f7ff21fSopenharmony_ci} // namespace UserIam 554f7ff21fSopenharmony_ci} // namespace OHOS 564f7ff21fSopenharmony_ci 574f7ff21fSopenharmony_ci#endif // IAM_LOGGER_H 58