diff options
| -rw-r--r-- | src/log.cpp | 17 | ||||
| -rw-r--r-- | src/proj_internal.h | 2 |
2 files changed, 16 insertions, 3 deletions
diff --git a/src/log.cpp b/src/log.cpp index edfba140..d2c9f430 100644 --- a/src/log.cpp +++ b/src/log.cpp @@ -116,6 +116,17 @@ PJ_LOG_LEVEL proj_log_level (PJ_CONTEXT *ctx, PJ_LOG_LEVEL log_level) { return previous; } +/*****************************************************************************/ +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, ...) { @@ -124,7 +135,7 @@ void proj_log_error (const PJ *P, const char *fmt, ...) { ******************************************************************************/ va_list args; va_start( args, fmt ); - pj_vlog (pj_get_ctx ((PJ*)P), PJ_LOG_ERROR , fmt, args); + pj_vlog (pj_get_ctx ((PJ*)P), PJ_LOG_ERROR , add_short_name_prefix(P, fmt).c_str(), args); va_end( args ); } @@ -136,7 +147,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_MAJOR , fmt, args); + pj_vlog (pj_get_ctx (P), PJ_LOG_DEBUG_MAJOR , add_short_name_prefix(P, fmt).c_str(), args); va_end( args ); } @@ -158,7 +169,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_DEBUG_MINOR , fmt, args); + pj_vlog (pj_get_ctx (P), PJ_LOG_DEBUG_MINOR , add_short_name_prefix(P, fmt).c_str(), args); va_end( args ); } diff --git a/src/proj_internal.h b/src/proj_internal.h index bf9e5386..f0d3c8b3 100644 --- a/src/proj_internal.h +++ b/src/proj_internal.h @@ -354,6 +354,7 @@ struct PJconsts { **************************************************************************************/ PJ_CONTEXT *ctx = nullptr; + const char *short_name = nullptr; /* From pj_list.h */ const char *descr = nullptr; /* From pj_list.h or individual PJ_*.c file */ paralist *params = nullptr; /* Parameter list */ char *def_full = nullptr; /* Full textual definition (usually 0 - set by proj_pj_info) */ @@ -719,6 +720,7 @@ C_NAMESPACE PJ *pj_##name (PJ *P) { \ P = pj_new(); \ if (nullptr==P) \ return nullptr; \ + P->short_name = #name; \ P->descr = des_##name; \ P->need_ellps = NEED_ELLPS; \ P->left = PJ_IO_UNITS_RADIANS; \ |
