diff --git a/configure.ac b/configure.ac index 05b836c16f..08976a5645 100644 --- a/configure.ac +++ b/configure.ac @@ -85,12 +85,17 @@ case "${build_profile}" in esac prefer_assert="no" +eina_log_backtrace="yes" case "${build_profile}" in dev|debug) prefer_assert="yes" + eina_log_backtrace="no" ;; esac +# Enable CRI & ERR backtrace by default for release but not for dev/debug +AC_DEFINE_IF([EINA_LOG_BACKTRACE_ENABLE], [test "x${eina_log_backtrace}" = "xyes"], [1], [Default log level triggering backtraces]) + # TODO: add some build "profile" (server, full, etc...) AC_ARG_WITH([crypto], diff --git a/src/lib/eina/eina_log.c b/src/lib/eina/eina_log.c index 3d30d34737..b5444688bc 100644 --- a/src/lib/eina/eina_log.c +++ b/src/lib/eina/eina_log.c @@ -121,7 +121,12 @@ static Eina_Bool _disable_timing = EINA_TRUE; static int _abort_level_on_critical = EINA_LOG_LEVEL_CRITICAL; #ifdef EINA_LOG_BACKTRACE -static int _backtrace_level = 1; // CRI & ERR by default +// CRI & ERR by default in release mode, nothing in dev mode +# ifndef EINA_LOG_BACKTRACE_ENABLE +static int _backtrace_level = -1; +# else +static int _backtrace_level = 1; +# endif #endif static Eina_Bool _threads_enabled = EINA_FALSE;