17418042dSoh_ci/* 27418042dSoh_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 37418042dSoh_ci * Licensed under the Apache License, Version 2.0 (the "License"); 47418042dSoh_ci * you may not use this file except in compliance with the License. 57418042dSoh_ci * You may obtain a copy of the License at 67418042dSoh_ci * 77418042dSoh_ci * http://www.apache.org/licenses/LICENSE-2.0 87418042dSoh_ci * 97418042dSoh_ci * Unless required by applicable law or agreed to in writing, software 107418042dSoh_ci * distributed under the License is distributed on an "AS IS" BASIS, 117418042dSoh_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 127418042dSoh_ci * See the License for the specific language governing permissions and 137418042dSoh_ci * limitations under the License. 147418042dSoh_ci */ 157418042dSoh_ci 167418042dSoh_ci#ifndef OBJECT_STORE_LOGGER_H 177418042dSoh_ci#define OBJECT_STORE_LOGGER_H 187418042dSoh_ci#include <memory> 197418042dSoh_ci#ifdef HILOG_ENABLE 207418042dSoh_ci#include "hilog/log.h" 217418042dSoh_cinamespace OHOS::ObjectStore { 227418042dSoh_cistatic inline OHOS::HiviewDFX::HiLogLabel LogLabel() 237418042dSoh_ci{ 247418042dSoh_ci return { LOG_CORE, 0xD001652, "ObjectStore-x" }; 257418042dSoh_ci} 267418042dSoh_ci 277418042dSoh_ci#define LOG_DEBUG(fmt, ...) \ 287418042dSoh_ci do { \ 297418042dSoh_ci auto lable = LogLabel(); \ 307418042dSoh_ci if (HiLogIsLoggable(lable.domain, lable.tag, LogLevel::LOG_DEBUG)) { \ 317418042dSoh_ci ((void)HILOG_IMPL(lable.type, LogLevel::LOG_DEBUG, lable.domain, lable.tag, \ 327418042dSoh_ci "%{public}d: %{public}s " fmt " ", __LINE__, __FUNCTION__, ##__VA_ARGS__)); \ 337418042dSoh_ci } \ 347418042dSoh_ci } while (0) 357418042dSoh_ci 367418042dSoh_ci#define LOG_INFO(fmt, ...) \ 377418042dSoh_ci do { \ 387418042dSoh_ci auto lable = LogLabel(); \ 397418042dSoh_ci if (HiLogIsLoggable(lable.domain, lable.tag, LogLevel::LOG_INFO)) { \ 407418042dSoh_ci ((void)HILOG_IMPL(lable.type, LogLevel::LOG_INFO, lable.domain, lable.tag, \ 417418042dSoh_ci "%{public}d: %{public}s " fmt " ", __LINE__, __FUNCTION__, ##__VA_ARGS__)); \ 427418042dSoh_ci } \ 437418042dSoh_ci } while (0) 447418042dSoh_ci 457418042dSoh_ci#define LOG_WARN(fmt, ...) \ 467418042dSoh_ci do { \ 477418042dSoh_ci auto lable = LogLabel(); \ 487418042dSoh_ci if (HiLogIsLoggable(lable.domain, lable.tag, LogLevel::LOG_WARN)) { \ 497418042dSoh_ci ((void)HILOG_IMPL(lable.type, LogLevel::LOG_WARN, lable.domain, lable.tag, \ 507418042dSoh_ci "%{public}d: %{public}s " fmt " ", __LINE__, __FUNCTION__, ##__VA_ARGS__)); \ 517418042dSoh_ci } \ 527418042dSoh_ci } while (0) 537418042dSoh_ci 547418042dSoh_ci#define LOG_ERROR(fmt, ...) \ 557418042dSoh_ci do { \ 567418042dSoh_ci auto lable = LogLabel(); \ 577418042dSoh_ci if (HiLogIsLoggable(lable.domain, lable.tag, LogLevel::LOG_ERROR)) { \ 587418042dSoh_ci ((void)HILOG_IMPL(lable.type, LogLevel::LOG_ERROR, lable.domain, lable.tag, \ 597418042dSoh_ci "%{public}d: %{public}s " fmt " ", __LINE__, __FUNCTION__, ##__VA_ARGS__)); \ 607418042dSoh_ci } \ 617418042dSoh_ci } while (0) 627418042dSoh_ci 637418042dSoh_ci#define LOG_FATAL(fmt, ...) \ 647418042dSoh_ci do { \ 657418042dSoh_ci auto lable = LogLabel(); \ 667418042dSoh_ci if (HiLogIsLoggable(lable.domain, lable.tag, LogLevel::LOG_FATAL)) { \ 677418042dSoh_ci ((void)HILOG_IMPL(lable.type, LogLevel::LOG_FATAL, lable.domain, lable.tag, \ 687418042dSoh_ci "%{public}d: %{public}s " fmt " ", __LINE__, __FUNCTION__, ##__VA_ARGS__)); \ 697418042dSoh_ci } \ 707418042dSoh_ci } while (0) 717418042dSoh_ci 727418042dSoh_ci} // namespace OHOS::ObjectStore 737418042dSoh_ci#else 747418042dSoh_ci#include <stdio.h> 757418042dSoh_ci#include <stdlib.h> 767418042dSoh_ci 777418042dSoh_ci#define LOG_DEBUG(fmt, ...) \ 787418042dSoh_ci printf("[D][ObjectStore]%s:%d %s: " fmt "\n", __FILE_NAME__, __LINE__, __FUNCTION__, ##__VA_ARGS__) 797418042dSoh_ci#define LOG_ERROR(fmt, ...) \ 807418042dSoh_ci printf("[E][ObjectStore]%s:%d %s: " fmt "\n", __FILE_NAME__, __LINE__, __FUNCTION__, ##__VA_ARGS__) 817418042dSoh_ci#define LOG_INFO(fmt, ...) \ 827418042dSoh_ci printf("[I][ObjectStore]%s:%d %s: " fmt "\n", __FILE_NAME__, __LINE__, __FUNCTION__, ##__VA_ARGS__) 837418042dSoh_ci#define LOG_WARN(fmt, ...) \ 847418042dSoh_ci printf("[W][ObjectStore]%s:%d %s: " fmt "\n", __FILE_NAME__, __LINE__, __FUNCTION__, ##__VA_ARGS__) 857418042dSoh_ci#endif // #ifdef HILOG_ENABLE 867418042dSoh_ci#endif // OBJECT_STORE_LOGGER_H 87