diff options
Diffstat (limited to 'src/shared/log.h')
-rw-r--r-- | src/shared/log.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/shared/log.h b/src/shared/log.h new file mode 100644 index 0000000..bee783b --- /dev/null +++ b/src/shared/log.h @@ -0,0 +1,65 @@ +/* + * crash-manager + * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +#ifndef __CRASH_LOG_H__ +#define __CRASH_LOG_H__ + +#ifndef LOG_TAG +#define LOG_TAG "CRASH_MANAGER" +#endif +#include <dlog.h> + +#ifdef LOG_FILE +#include <sys/types.h> +#include <unistd.h> +#undef LOG_ +static inline char __dlog_prio(int prio) +{ + static const char pri_table[DLOG_PRIO_MAX] = { + [DLOG_UNKNOWN] = '?', + [DLOG_DEFAULT] = '?', + [DLOG_VERBOSE] = 'V', + [DLOG_DEBUG] = 'D', + [DLOG_INFO] = 'I', + [DLOG_WARN] = 'W', + [DLOG_ERROR] = 'E', + [DLOG_FATAL] = 'F', + [DLOG_SILENT] = 'S', + }; + return pri_table[(prio >= 0 && prio < DLOG_PRIO_MAX) ? prio : DLOG_UNKNOWN]; +} +#define LOG_(id, prio, tag, fmt, arg...) \ + ({ do { \ + fprintf(LOG_FILE, "%c/%-8s(%5d): %s: %s(%d) > " fmt "\n", \ + __dlog_prio(prio), tag, getpid(), \ + __MODULE__, __func__, __LINE__, ##arg); \ + } while (0); }) +#endif + +#define _D(fmt, arg...) SLOGD(fmt, ##arg) +#define _I(fmt, arg...) SLOGI(fmt, ##arg) +#define _W(fmt, arg...) SLOGW(fmt, ##arg) +#define _E(fmt, arg...) SLOGE(fmt, ##arg) +#define _SD(fmt, arg...) SECURE_SLOGD(fmt, ##arg) +#define _SI(fmt, arg...) SECURE_SLOGI(fmt, ##arg) +#define _SW(fmt, arg...) SECURE_SLOGW(fmt, ##arg) +#define _SE(fmt, arg...) SECURE_SLOGE(fmt, ##arg) + +#endif +/* __CRASH_LOG_H__ */ |