8 #include <app_common.h>
11 #define MAX_LOG_SIZE 4096
14 static FILE *log_fp = NULL;
15 static log_type ltype = LOG_TYPE_DLOG;
17 static const char log_prio_name[][DLOG_PRIO_MAX-1] = {
19 "DEFAULT", /**< Default */
20 "VERBOSE", /**< Verbose */
21 "DEBUG", /**< Debug */
23 "WARN", /**< Warning */
24 "ERROR", /**< Error */
25 "FATAL", /**< Fatal */
26 "SILENT" /**< Silent */
29 static inline char* getFormattedTime(void)
33 static char res_time[40] = {0, };
35 gettimeofday(&val, NULL);
36 ptm = localtime(&val.tv_sec);
38 // format : YYMMDDhhmmssuuuuuu
39 snprintf(res_time, sizeof(res_time), "%04d-%02d-%02d %02d:%02d:%02d:%06ld"
40 , ptm->tm_year + 1900, ptm->tm_mon + 1, ptm->tm_mday
41 , ptm->tm_hour, ptm->tm_min, ptm->tm_sec
47 static int __open_log_file(void)
49 char buf[PATH_MAX] = {0,};
52 prefix = app_get_data_path();
57 snprintf(buf, sizeof(buf)-1, "%s%s", prefix, "log.txt");
60 log_fp = fopen(buf, "a"); /* append or create new ??? */
62 dlog_print(DLOG_WARN, LOG_TAG, "%s\n", strerror(errno));
69 dlog_print(DLOG_WARN, LOG_TAG, "error to use log file, so use dlog as log system\n");
70 ltype = LOG_TYPE_DLOG;
74 int log_type_set(log_type type)
77 dlog_print(DLOG_DEBUG, LOG_TAG, "setting log type : [%d]\n", type);
83 case LOG_TYPE_DLOG: /* nothing to do */
85 ltype = LOG_TYPE_DLOG;
91 void log_file_close(void)
96 dlog_print(DLOG_DEBUG, LOG_TAG, "close log file\n");
99 log_type_set(LOG_TYPE_DLOG);
104 int log_print(log_priority prio, const char *tag, const char *fmt, ...)
112 fprintf(log_fp, "[%s] [%s]", getFormattedTime(), log_prio_name[prio]);
113 vfprintf(log_fp, fmt, ap);
121 fprintf(log_fp, "[%s] [%s]", getFormattedTime(), log_prio_name[prio]);
122 vfprintf(log_fp, fmt, ap);
124 dlog_vprint(prio, tag, fmt, ap);
133 dlog_vprint(prio, tag, fmt, ap);