summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2017-12-28 13:14:17 -0700
committerSimon Glass <sjg@chromium.org>2018-02-03 10:09:27 -0700
commit3b73e8d067fb7cb504bed2018583980a3cd3f4bc (patch)
tree2544f15394f2d107675c06611649eb5efe8e35fd
parentf941c8d76c665045e5d645112a309d12523e19c7 (diff)
log: Add control over log formatting
It is useful to be able to control the output format of log records on the console. As a starting point, add definitions for controlling which elements of the log record are displayed. Use function and message as the default, since these are the most useful fields. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--common/log.c1
-rw-r--r--include/asm-generic/global_data.h1
-rw-r--r--include/log.h14
3 files changed, 16 insertions, 0 deletions
diff --git a/common/log.c b/common/log.c
index d5f1cc50777..1b1b98e5de6 100644
--- a/common/log.c
+++ b/common/log.c
@@ -307,6 +307,7 @@ int log_init(void)
}
gd->flags |= GD_FLG_LOG_READY;
gd->default_log_level = LOGL_INFO;
+ gd->log_fmt = LOGF_DEFAULT;
return 0;
}
diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h
index fd8cd45b050..1de67e8e8f5 100644
--- a/include/asm-generic/global_data.h
+++ b/include/asm-generic/global_data.h
@@ -119,6 +119,7 @@ typedef struct global_data {
int log_drop_count; /* Number of dropped log messages */
int default_log_level; /* For devices with no filters */
struct list_head log_head; /* List of struct log_device */
+ int log_fmt; /* Mask containing log format info */
#endif
} gd_t;
#endif
diff --git a/include/log.h b/include/log.h
index 5133213acf5..828919a409f 100644
--- a/include/log.h
+++ b/include/log.h
@@ -291,6 +291,20 @@ const char *log_get_level_name(enum log_level_t level);
*/
enum log_level_t log_get_level_by_name(const char *name);
+/* Log format flags (bit numbers) for gd->log_fmt. See log_fmt_chars */
+enum log_fmt {
+ LOGF_CAT = 0,
+ LOGF_LEVEL,
+ LOGF_FILE,
+ LOGF_LINE,
+ LOGF_FUNC,
+ LOGF_MSG,
+
+ LOGF_COUNT,
+ LOGF_DEFAULT = (1 << LOGF_FUNC) | (1 << LOGF_MSG),
+ LOGF_ALL = 0x3f,
+};
+
/* Handle the 'log test' command */
int do_log_test(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]);