Revise net-config power configuration
[framework/connectivity/net-config.git] / include / log.h
1 /*
2  * Network Configuration Module
3  *
4  * Copyright (c) 2000 - 2012 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Danny JS Seo <S.Seo@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21
22 #ifndef __NETCONFIG_LOG_H__
23 #define __NETCONFIG_LOG_H__
24
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28
29 #include <dlog.h>
30 #include <stdio.h>
31 #include <string.h>
32
33 #define __LOG(level, format, arg...) \
34         do { \
35                 char *ch = strrchr(__FILE__, '/'); \
36                 ch = ch ? ch + 1 : __FILE__; \
37                 SLOG(level, PACKAGE, "%s:%s() "format"\n", ch, __FUNCTION__, ## arg); \
38         } while(0)
39
40 #define __PRT(level, format, arg...) \
41         do { \
42                 char *ch = strrchr(__FILE__, '/'); \
43                 ch = ch ? ch + 1 : __FILE__; \
44                 fprintf(stderr, PACKAGE": %s:%s() "format"\n", ch, __FUNCTION__, ## arg); \
45         } while(0)
46
47 #define DBG(format, arg...)             __LOG(LOG_DEBUG, format, ## arg)
48 #define INFO(format, arg...)    __LOG(LOG_INFO, format, ## arg)
49 #define WARN(format, arg...)    __LOG(LOG_WARN, format, ## arg)
50 #define ERR(format, arg...)             __LOG(LOG_ERROR, format, ## arg)
51
52 #ifdef __cplusplus
53 }
54 #endif
55
56 #endif /* __NETCONFIG_LOG_H__ */