From 0af437949dd002a0f0021f35f20681e653e1f849 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Fri, 11 Dec 2020 16:58:20 +0100 Subject: Move proj_log_XXX() functions from internal.cpp to log.cpp --- src/log.cpp | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) (limited to 'src/log.cpp') diff --git a/src/log.cpp b/src/log.cpp index c343e65b..35e276de 100644 --- a/src/log.cpp +++ b/src/log.cpp @@ -96,3 +96,82 @@ void pj_log( PJ_CONTEXT *ctx, int level, const char *fmt, ... ) pj_vlog( ctx, level, fmt, args ); va_end( args ); } + + + +/***************************************************************************************/ +PJ_LOG_LEVEL proj_log_level (PJ_CONTEXT *ctx, PJ_LOG_LEVEL log_level) { +/**************************************************************************************** + Set logging level 0-3. Higher number means more debug info. 0 turns it off +****************************************************************************************/ + PJ_LOG_LEVEL previous; + if (nullptr==ctx) + ctx = pj_get_default_ctx(); + if (nullptr==ctx) + return PJ_LOG_TELL; + previous = static_cast(abs (ctx->debug_level)); + if (PJ_LOG_TELL==log_level) + return previous; + ctx->debug_level = log_level; + return previous; +} + + +/*****************************************************************************/ +void proj_log_error (PJ *P, const char *fmt, ...) { +/****************************************************************************** + For reporting the most severe events. +******************************************************************************/ + va_list args; + va_start( args, fmt ); + pj_vlog (pj_get_ctx (P), PJ_LOG_ERROR , fmt, args); + va_end( args ); +} + + +/*****************************************************************************/ +void proj_log_debug (PJ *P, const char *fmt, ...) { +/****************************************************************************** + For reporting debugging information. +******************************************************************************/ + va_list args; + va_start( args, fmt ); + pj_vlog (pj_get_ctx (P), PJ_LOG_DEBUG_MAJOR , fmt, args); + va_end( args ); +} + +/*****************************************************************************/ +void proj_context_log_debug (PJ_CONTEXT *ctx, const char *fmt, ...) { +/****************************************************************************** + For reporting debugging information. +******************************************************************************/ + va_list args; + va_start( args, fmt ); + pj_vlog (ctx, PJ_LOG_DEBUG_MAJOR , fmt, args); + va_end( args ); +} + +/*****************************************************************************/ +void proj_log_trace (PJ *P, const char *fmt, ...) { +/****************************************************************************** + For reporting embarrassingly detailed debugging information. +******************************************************************************/ + va_list args; + va_start( args, fmt ); + pj_vlog (pj_get_ctx (P), PJ_LOG_DEBUG_MINOR , fmt, args); + va_end( args ); +} + + +/*****************************************************************************/ +void proj_log_func (PJ_CONTEXT *ctx, void *app_data, PJ_LOG_FUNCTION logf) { +/****************************************************************************** + Put a new logging function into P's context. The opaque object app_data is + passed as first arg at each call to the logger +******************************************************************************/ + if (nullptr==ctx) + ctx = pj_get_default_ctx (); + ctx->logger_app_data = app_data; + if (nullptr!=logf) + ctx->logger = logf; +} -- cgit v1.2.3 From 244a24104ded3a4573aeffa32160af21f76cbce6 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Tue, 15 Dec 2020 00:51:46 +0100 Subject: Revise error codes to have a reduced set exposed in the public API. Fixes #2482 And also add proj_context_errno_string() Revise gie 'expect failure errno XXXX' strings --- src/log.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/log.cpp') diff --git a/src/log.cpp b/src/log.cpp index 35e276de..edfba140 100644 --- a/src/log.cpp +++ b/src/log.cpp @@ -118,13 +118,13 @@ PJ_LOG_LEVEL proj_log_level (PJ_CONTEXT *ctx, PJ_LOG_LEVEL log_level) { /*****************************************************************************/ -void proj_log_error (PJ *P, const char *fmt, ...) { +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 (P), PJ_LOG_ERROR , fmt, args); + pj_vlog (pj_get_ctx ((PJ*)P), PJ_LOG_ERROR , fmt, args); va_end( args ); } -- cgit v1.2.3 From ab7b02702a25689a2dd81b25fc859424a2ffcec9 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Tue, 15 Dec 2020 15:32:10 +0100 Subject: proj_log_XXX functions(): add the short name of the operation as prefix in the error message --- src/log.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'src/log.cpp') 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 ); } -- cgit v1.2.3 From 41c4e54f036d0f8fcc37920fac4b0fa462fd92b2 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Tue, 15 Dec 2020 15:55:06 +0100 Subject: Remove internal use of PJ_LOG_DEBUG_MINOR and PJ_LOG_DEBUG_MAJOR --- src/log.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/log.cpp') diff --git a/src/log.cpp b/src/log.cpp index d2c9f430..c50b0ebc 100644 --- a/src/log.cpp +++ b/src/log.cpp @@ -147,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 , add_short_name_prefix(P, fmt).c_str(), args); + pj_vlog (pj_get_ctx (P), PJ_LOG_DEBUG , add_short_name_prefix(P, fmt).c_str(), args); va_end( args ); } @@ -158,7 +158,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_MAJOR , fmt, args); + pj_vlog (ctx, PJ_LOG_DEBUG , fmt, args); va_end( args ); } @@ -169,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 , add_short_name_prefix(P, fmt).c_str(), args); + pj_vlog (pj_get_ctx (P), PJ_LOG_TRACE , add_short_name_prefix(P, fmt).c_str(), args); va_end( args ); } -- cgit v1.2.3