1 /*
2  * Copyright (c) 2021 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 HILOG_WRAPPER_H
17 #define HILOG_WRAPPER_H
18 
19 #define CONFIG_HILOG
20 #ifdef CONFIG_HILOG
21 #include "hilog/log.h"
22 
23 #ifdef HILOG_FATAL
24 #undef HILOG_FATAL
25 #endif
26 
27 #ifdef HILOG_ERROR
28 #undef HILOG_ERROR
29 #endif
30 
31 #ifdef HILOG_WARN
32 #undef HILOG_WARN
33 #endif
34 
35 #ifdef HILOG_INFO
36 #undef HILOG_INFO
37 #endif
38 
39 #ifdef HILOG_DEBUG
40 #undef HILOG_DEBUG
41 #endif
42 
43 #ifndef AMS_LOG_DOMAIN
44 #define AMS_LOG_DOMAIN 0xD001304
45 #endif
46 
47 #ifndef AMS_LOG_TAG
48 #define AMS_LOG_TAG "AbilityManagerService"
49 #endif
50 
51 #define __FILENAME__ (__builtin_strrchr(__FILE__, '/') ? __builtin_strrchr(__FILE__, '/') + 1 : __FILE__)
52 
53 #define HILOG_FATAL(fmt, ...)            \
54     ((void)HILOG_IMPL(LOG_CORE, LOG_FATAL, AMS_LOG_DOMAIN, AMS_LOG_TAG, \
55     "[%{public}s(%{public}s:%{public}d)]" fmt, __FILENAME__, __FUNCTION__, __LINE__, ##__VA_ARGS__))
56 #define HILOG_ERROR(fmt, ...)            \
57     ((void)HILOG_IMPL(LOG_CORE, LOG_ERROR, AMS_LOG_DOMAIN, AMS_LOG_TAG, \
58     "[%{public}s(%{public}s:%{public}d)]" fmt, __FILENAME__, __FUNCTION__, __LINE__, ##__VA_ARGS__))
59 #define HILOG_WARN(fmt, ...)            \
60     ((void)HILOG_IMPL(LOG_CORE, LOG_WARN, AMS_LOG_DOMAIN, AMS_LOG_TAG, \
61     "[%{public}s(%{public}s:%{public}d)]" fmt, __FILENAME__, __FUNCTION__, __LINE__, ##__VA_ARGS__))
62 #define HILOG_INFO(fmt, ...)            \
63     ((void)HILOG_IMPL(LOG_CORE, LOG_INFO, AMS_LOG_DOMAIN, AMS_LOG_TAG, \
64     "[%{public}s(%{public}s:%{public}d)]" fmt, __FILENAME__, __FUNCTION__, __LINE__, ##__VA_ARGS__))
65 #define HILOG_DEBUG(fmt, ...)            \
66     ((void)HILOG_IMPL(LOG_CORE, LOG_DEBUG, AMS_LOG_DOMAIN, AMS_LOG_TAG, \
67     "[%{public}s(%{public}s:%{public}d)]" fmt, __FILENAME__, __FUNCTION__, __LINE__, ##__VA_ARGS__))
68 #else
69 
70 #define HILOG_FATAL(...)
71 #define HILOG_ERROR(...)
72 #define HILOG_WARN(...)
73 #define HILOG_INFO(...)
74 #define HILOG_DEBUG(...)
75 #endif  // CONFIG_HILOG
76 
77 #endif  // HILOG_WRAPPER_H
78