146debc2cSopenharmony_ci/*
246debc2cSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd.
346debc2cSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
446debc2cSopenharmony_ci * you may not use this file except in compliance with the License.
546debc2cSopenharmony_ci * You may obtain a copy of the License at
646debc2cSopenharmony_ci *
746debc2cSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
846debc2cSopenharmony_ci *
946debc2cSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1046debc2cSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1146debc2cSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1246debc2cSopenharmony_ci * See the License for the specific language governing permissions and
1346debc2cSopenharmony_ci * limitations under the License.
1446debc2cSopenharmony_ci */
1546debc2cSopenharmony_ci
1646debc2cSopenharmony_ci#ifndef SCAN_LOG
1746debc2cSopenharmony_ci#define SCAN_LOG
1846debc2cSopenharmony_ci
1946debc2cSopenharmony_ci#define CONFIG_SCAN_LOG
2046debc2cSopenharmony_ci#ifdef CONFIG_SCAN_LOG
2146debc2cSopenharmony_ci#include "hilog/log.h"
2246debc2cSopenharmony_ci
2346debc2cSopenharmony_ci#ifdef SCAN_HILOGF
2446debc2cSopenharmony_ci#undef SCAN_HILOGF
2546debc2cSopenharmony_ci#endif
2646debc2cSopenharmony_ci
2746debc2cSopenharmony_ci#ifdef SCAN_HILOGE
2846debc2cSopenharmony_ci#undef SCAN_HILOGE
2946debc2cSopenharmony_ci#endif
3046debc2cSopenharmony_ci
3146debc2cSopenharmony_ci#ifdef SCAN_HILOGW
3246debc2cSopenharmony_ci#undef SCAN_HILOGW
3346debc2cSopenharmony_ci#endif
3446debc2cSopenharmony_ci
3546debc2cSopenharmony_ci#ifdef SCAN_HILOGD
3646debc2cSopenharmony_ci#undef SCAN_HILOGD
3746debc2cSopenharmony_ci#endif
3846debc2cSopenharmony_ci
3946debc2cSopenharmony_ci#ifdef SCAN_HILOGI
4046debc2cSopenharmony_ci#undef SCAN_HILOGI
4146debc2cSopenharmony_ci#endif
4246debc2cSopenharmony_ci
4346debc2cSopenharmony_ci#define SCAN_LOG_TAG "scankit"
4446debc2cSopenharmony_ci#define SCAN_LOG_DOMAIN 0xD001C00
4546debc2cSopenharmony_ci
4646debc2cSopenharmony_ci#ifdef IS_RELEASE_VERSION
4746debc2cSopenharmony_ci#define SCAN_MAKE_FILE_NAME ""
4846debc2cSopenharmony_ci#else
4946debc2cSopenharmony_ci#define SCAN_MAKE_FILE_NAME \
5046debc2cSopenharmony_ci    (__builtin_strrchr(__FILE_NAME__, '/') ? __builtin_strrchr(__FILE_NAME__, '/') + 1 : __FILE_NAME__)
5146debc2cSopenharmony_ci#endif
5246debc2cSopenharmony_ci
5346debc2cSopenharmony_ci#define SCAN_HILOGF(fmt, ...)                                        								\
5446debc2cSopenharmony_ci    (void)HILOG_IMPL(LOG_CORE, LOG_FATAL, SCAN_LOG_DOMAIN, SCAN_LOG_TAG, "[%{public}s %{public}s %{public}d] " fmt,	\
5546debc2cSopenharmony_ci    SCAN_MAKE_FILE_NAME, __FUNCTION__, __LINE__, ##__VA_ARGS__)
5646debc2cSopenharmony_ci
5746debc2cSopenharmony_ci#define SCAN_HILOGE(fmt, ...)                                      									\
5846debc2cSopenharmony_ci    (void)HILOG_IMPL(LOG_CORE, LOG_ERROR, SCAN_LOG_DOMAIN, SCAN_LOG_TAG, "[%{public}s %{public}s %{public}d] " fmt,	\
5946debc2cSopenharmony_ci    SCAN_MAKE_FILE_NAME, __FUNCTION__, __LINE__, ##__VA_ARGS__)
6046debc2cSopenharmony_ci
6146debc2cSopenharmony_ci#define SCAN_HILOGW(fmt, ...)                                                        				\
6246debc2cSopenharmony_ci    (void)HILOG_IMPL(LOG_CORE, LOG_WARN, SCAN_LOG_DOMAIN, SCAN_LOG_TAG, "[%{public}s %{public}s %{public}d] " fmt,	\
6346debc2cSopenharmony_ci    SCAN_MAKE_FILE_NAME, __FUNCTION__, __LINE__, ##__VA_ARGS__)
6446debc2cSopenharmony_ci
6546debc2cSopenharmony_ci#define SCAN_HILOGD(fmt, ...)                                                            			\
6646debc2cSopenharmony_ci    (void)HILOG_IMPL(LOG_CORE, LOG_DEBUG, SCAN_LOG_DOMAIN, SCAN_LOG_TAG, "[%{public}s %{public}s %{public}d] " fmt,	\
6746debc2cSopenharmony_ci    SCAN_MAKE_FILE_NAME, __FUNCTION__, __LINE__, ##__VA_ARGS__)
6846debc2cSopenharmony_ci
6946debc2cSopenharmony_ci#define SCAN_HILOGI(fmt, ...)                                                     					\
7046debc2cSopenharmony_ci    (void)HILOG_IMPL(LOG_CORE, LOG_INFO, SCAN_LOG_DOMAIN, SCAN_LOG_TAG, "[%{public}s %{public}s %{public}d] " fmt,	\
7146debc2cSopenharmony_ci    SCAN_MAKE_FILE_NAME, __FUNCTION__, __LINE__, ##__VA_ARGS__)
7246debc2cSopenharmony_ci
7346debc2cSopenharmony_ci#else
7446debc2cSopenharmony_ci
7546debc2cSopenharmony_ci#define SCAN_HILOGF(fmt, ...)
7646debc2cSopenharmony_ci#define SCAN_HILOGE(fmt, ...)
7746debc2cSopenharmony_ci#define SCAN_HILOGW(fmt, ...)
7846debc2cSopenharmony_ci#define SCAN_HILOGD(fmt, ...)
7946debc2cSopenharmony_ci#define SCAN_HILOGI(fmt, ...)
8046debc2cSopenharmony_ci#endif // CONFIG_SCAN_LOG
8146debc2cSopenharmony_ci
8246debc2cSopenharmony_ci#endif /* SCAN_LOG */
83