1094332d3Sopenharmony_ci/* 2094332d3Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 3094332d3Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4094332d3Sopenharmony_ci * you may not use this file except in compliance with the License. 5094332d3Sopenharmony_ci * You may obtain a copy of the License at 6094332d3Sopenharmony_ci * 7094332d3Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8094332d3Sopenharmony_ci * 9094332d3Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10094332d3Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11094332d3Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12094332d3Sopenharmony_ci * See the License for the specific language governing permissions and 13094332d3Sopenharmony_ci * limitations under the License. 14094332d3Sopenharmony_ci */ 15094332d3Sopenharmony_ci#ifndef IAM_LOGGER_H 16094332d3Sopenharmony_ci#define IAM_LOGGER_H 17094332d3Sopenharmony_ci 18094332d3Sopenharmony_ci#include "hilog/log.h" 19094332d3Sopenharmony_cinamespace OHOS { 20094332d3Sopenharmony_cinamespace UserIam { 21094332d3Sopenharmony_cinamespace Common { 22094332d3Sopenharmony_ci#ifdef __FILE_NAME__ 23094332d3Sopenharmony_ci#define PIN_AUTH_FILE __FILE_NAME__ 24094332d3Sopenharmony_ci#else 25094332d3Sopenharmony_ci#define PIN_AUTH_FILE (__builtin_strrchr(__FILE__, '/') ? __builtin_strrchr(__FILE__, '/') + 1 : __FILE__) 26094332d3Sopenharmony_ci#endif 27094332d3Sopenharmony_ci 28094332d3Sopenharmony_ci#ifdef LOG_DOMAIN 29094332d3Sopenharmony_ci#undef LOG_DOMAIN 30094332d3Sopenharmony_ci#endif 31094332d3Sopenharmony_ci 32094332d3Sopenharmony_ci#define LOG_DOMAIN 0xD002404 33094332d3Sopenharmony_ci 34094332d3Sopenharmony_ci#ifdef LOG_TAG 35094332d3Sopenharmony_ci#undef LOG_TAG 36094332d3Sopenharmony_ci#endif 37094332d3Sopenharmony_ci 38094332d3Sopenharmony_ci#define PIN_AUTH_DEBUG(...) HILOG_DEBUG(LOG_CORE, __VA_ARGS__) 39094332d3Sopenharmony_ci#define PIN_AUTH_INFO(...) HILOG_INFO(LOG_CORE, __VA_ARGS__) 40094332d3Sopenharmony_ci#define PIN_AUTH_WARN(...) HILOG_WARN(LOG_CORE, __VA_ARGS__) 41094332d3Sopenharmony_ci#define PIN_AUTH_ERROR(...) HILOG_ERROR(LOG_CORE, __VA_ARGS__) 42094332d3Sopenharmony_ci#define PIN_AUTH_FATAL(...) HILOG_FATAL(LOG_CORE, __VA_ARGS__) 43094332d3Sopenharmony_ci 44094332d3Sopenharmony_ci#define ARGS(fmt, ...) "[%{public}s@%{public}s:%{public}d] " fmt, __FUNCTION__, PIN_AUTH_FILE, __LINE__, ##__VA_ARGS__ 45094332d3Sopenharmony_ci#define PIN_LOG(level, ...) PIN_AUTH_##level(ARGS(__VA_ARGS__)) 46094332d3Sopenharmony_ci 47094332d3Sopenharmony_ci#define IAM_LOGD(...) PIN_LOG(DEBUG, __VA_ARGS__) 48094332d3Sopenharmony_ci#define IAM_LOGI(...) PIN_LOG(INFO, __VA_ARGS__) 49094332d3Sopenharmony_ci#define IAM_LOGW(...) PIN_LOG(WARN, __VA_ARGS__) 50094332d3Sopenharmony_ci#define IAM_LOGE(...) PIN_LOG(ERROR, __VA_ARGS__) 51094332d3Sopenharmony_ci#define IAM_LOGF(...) PIN_LOG(FATAL, __VA_ARGS__) 52094332d3Sopenharmony_ci 53094332d3Sopenharmony_ci} // namespace Common 54094332d3Sopenharmony_ci} // namespace UserIam 55094332d3Sopenharmony_ci} // namespace OHOS 56094332d3Sopenharmony_ci 57094332d3Sopenharmony_ci#endif // IAM_LOGGER_H 58