diff options
| -rw-r--r-- | src/log.cpp | 37 |
1 files changed, 16 insertions, 21 deletions
diff --git a/src/log.cpp b/src/log.cpp index 6bad34d4..4a2cc73d 100644 --- a/src/log.cpp +++ b/src/log.cpp @@ -48,9 +48,9 @@ void pj_stderr_logger( void *app_data, int level, const char *msg ) /************************************************************************/ /* pj_vlog() */ /************************************************************************/ -void pj_vlog( PJ_CONTEXT *ctx, int level, const char *fmt, va_list args ); -void pj_vlog( PJ_CONTEXT *ctx, int level, const char *fmt, va_list args ) +static +void pj_vlog( PJ_CONTEXT *ctx, int level, const PJ* P, const char *fmt, va_list args ) { char *msg_buf; @@ -72,7 +72,15 @@ void pj_vlog( PJ_CONTEXT *ctx, int level, const char *fmt, va_list args ) if( msg_buf == nullptr ) return; - vsnprintf( msg_buf, BUF_SIZE, fmt, args ); + if( P == nullptr || P->short_name == nullptr ) + vsnprintf( msg_buf, BUF_SIZE, fmt, args ); + else + { + std::string fmt_with_P_short_name(P->short_name); + fmt_with_P_short_name += ": "; + fmt_with_P_short_name += fmt; + vsnprintf( msg_buf, BUF_SIZE, fmt_with_P_short_name.c_str(), args ); + } msg_buf[BUF_SIZE-1] = '\0'; ctx->logger( ctx->logger_app_data, level, msg_buf ); @@ -80,7 +88,6 @@ void pj_vlog( PJ_CONTEXT *ctx, int level, const char *fmt, va_list args ) free( msg_buf ); } - /************************************************************************/ /* pj_log() */ /************************************************************************/ @@ -94,7 +101,7 @@ void pj_log( PJ_CONTEXT *ctx, int level, const char *fmt, ... ) return; va_start( args, fmt ); - pj_vlog( ctx, level, fmt, args ); + pj_vlog( ctx, level, nullptr, fmt, args ); va_end( args ); } @@ -118,25 +125,13 @@ PJ_LOG_LEVEL proj_log_level (PJ_CONTEXT *ctx, PJ_LOG_LEVEL log_level) { } /*****************************************************************************/ -static std::string add_short_name_prefix(const PJ* P, const char* fmt) -/*****************************************************************************/ -{ - if( P->short_name == nullptr ) - return fmt; - std::string ret(P->short_name); - ret += ": "; - ret += fmt; - return ret; -} - -/*****************************************************************************/ void proj_log_error (const PJ *P, const char *fmt, ...) { /****************************************************************************** For reporting the most severe events. ******************************************************************************/ va_list args; va_start( args, fmt ); - pj_vlog (pj_get_ctx ((PJ*)P), PJ_LOG_ERROR , add_short_name_prefix(P, fmt).c_str(), args); + pj_vlog (pj_get_ctx ((PJ*)P), PJ_LOG_ERROR, P, fmt, args); va_end( args ); } @@ -148,7 +143,7 @@ void proj_log_debug (PJ *P, const char *fmt, ...) { ******************************************************************************/ va_list args; va_start( args, fmt ); - pj_vlog (pj_get_ctx (P), PJ_LOG_DEBUG , add_short_name_prefix(P, fmt).c_str(), args); + pj_vlog (pj_get_ctx (P), PJ_LOG_DEBUG, P, fmt, args); va_end( args ); } @@ -159,7 +154,7 @@ void proj_context_log_debug (PJ_CONTEXT *ctx, const char *fmt, ...) { ******************************************************************************/ va_list args; va_start( args, fmt ); - pj_vlog (ctx, PJ_LOG_DEBUG , fmt, args); + pj_vlog (ctx, PJ_LOG_DEBUG, nullptr, fmt, args); va_end( args ); } @@ -170,7 +165,7 @@ void proj_log_trace (PJ *P, const char *fmt, ...) { ******************************************************************************/ va_list args; va_start( args, fmt ); - pj_vlog (pj_get_ctx (P), PJ_LOG_TRACE , add_short_name_prefix(P, fmt).c_str(), args); + pj_vlog (pj_get_ctx (P), PJ_LOG_TRACE, P, fmt, args); va_end( args ); } |
