wrt-plugins-tizen_0.4.23
[framework/web/wrt-plugins-tizen.git] / src / Common / Logger.h
1 //
2 // Tizen Web Device API
3 // Copyright (c) 2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 // http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 #ifndef __TIZEN_COMMON_LOGGER_H__
19 #define __TIZEN_COMMON_LOGGER_H__
20
21 #include <dlog.h>
22 #include <sstream>
23
24 #undef LOG_TAG
25 #define LOG_TAG "WRT_PLUGINS/TIZEN"
26
27 #define _LOGGER(prio, fmt, args...) \
28     do { \
29         std::ostringstream platformLog; \
30         platformLog << fmt; \
31         print_log(prio, LOG_TAG, "%s: %s(%d) > %s", __MODULE__, __func__, __LINE__, platformLog.str().c_str(), ##args); \
32     } while(0)
33
34 #define LoggerD(fmt, args...)    _LOGGER(DLOG_DEBUG, fmt, ##args)
35 #define LoggerI(fmt, args...)     _LOGGER(DLOG_INFO, fmt, ##args)
36 #define LoggerW(fmt, args...)  _LOGGER(DLOG_WARN, fmt, ##args)
37 #define LoggerE(fmt, args...)    _LOGGER(DLOG_ERROR, fmt, ##args)
38
39 #endif // __TIZEN_COMMON_LOGGER_H__