summaryrefslogtreecommitdiff
path: root/pjlib/src/pj/log_writer_stdout.c
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-07-19 17:53:47 +0000
committerBenny Prijono <bennylp@teluu.com>2008-07-19 17:53:47 +0000
commit2f89f6ad8e113cb108795d7ef2b6d81eb92c9a2a (patch)
tree6d99dd7ac0fc51a29039b25a0ccf009e7b3a4df3 /pjlib/src/pj/log_writer_stdout.c
parent2a67327941910feadbfd953e4f8b53e675d5fe1a (diff)
Ticket #571: Coloring for logs in Linux/UNIX, two more spaces in logs and runtime log colors configuration (thanks Ondrej.Sterbak)
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2159 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjlib/src/pj/log_writer_stdout.c')
-rw-r--r--pjlib/src/pj/log_writer_stdout.c34
1 files changed, 10 insertions, 24 deletions
diff --git a/pjlib/src/pj/log_writer_stdout.c b/pjlib/src/pj/log_writer_stdout.c
index 9bffe466..e14b2dfa 100644
--- a/pjlib/src/pj/log_writer_stdout.c
+++ b/pjlib/src/pj/log_writer_stdout.c
@@ -20,37 +20,19 @@
#include <pj/os.h>
#include <pj/compat/stdfileio.h>
-#define CLR_FATAL (PJ_TERM_COLOR_BRIGHT | PJ_TERM_COLOR_R)
-#define CLR_WARNING (PJ_TERM_COLOR_BRIGHT | PJ_TERM_COLOR_R | PJ_TERM_COLOR_G)
-#define CLR_INFO (PJ_TERM_COLOR_BRIGHT | PJ_TERM_COLOR_R | PJ_TERM_COLOR_G | \
- PJ_TERM_COLOR_B)
-#define CLR_DEFAULT (PJ_TERM_COLOR_R | PJ_TERM_COLOR_G | PJ_TERM_COLOR_B)
static void term_set_color(int level)
{
#if defined(PJ_TERM_HAS_COLOR) && PJ_TERM_HAS_COLOR != 0
- unsigned attr = 0;
- switch (level) {
- case 0:
- case 1: attr = CLR_FATAL;
- break;
- case 2: attr = CLR_WARNING;
- break;
- case 3: attr = CLR_INFO;
- break;
- default:
- attr = CLR_DEFAULT;
- break;
- }
-
- pj_term_set_color(attr);
+ pj_term_set_color(pj_log_get_color(level));
#endif
}
static void term_restore_color(void)
{
#if defined(PJ_TERM_HAS_COLOR) && PJ_TERM_HAS_COLOR != 0
- pj_term_set_color(CLR_DEFAULT);
+ /* Set terminal to its default color */
+ pj_term_set_color(pj_log_get_color(77));
#endif
}
@@ -61,8 +43,12 @@ PJ_DEF(void) pj_log_write(int level, const char *buffer, int len)
PJ_UNUSED_ARG(len);
/* Copy to terminal/file. */
- term_set_color(level);
- printf("%s", buffer);
- term_restore_color();
+ if (pj_log_get_decor() & PJ_LOG_HAS_COLOR) {
+ term_set_color(level);
+ printf("%s", buffer);
+ term_restore_color();
+ } else {
+ printf("%s", buffer);
+ }
}