logging: Deprecate v1, default to v2

Reduced logging mode selection to deferred, immediate, minimal and
frontend. Decoupled logging version from mode and created CONFIG_LOG1
which can be used to explicitly select deprecated version.

From now on, chosing CONFIG_LOG_MODE_{IMMEDIATE,DEFERRED} will result
in version2.

Deprecated CONFIG_LOG2_MODE_{IMMEDIATE,DEFERRED} with cmake warning.

Codebase adapted to those changes.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
This commit is contained in:
Krzysztof Chruscinski 2022-01-12 15:52:48 +01:00 committed by Anas Nashif
commit 262cc55609
47 changed files with 199 additions and 178 deletions

View file

@ -101,8 +101,7 @@ log_backend_std_sync_string(const struct log_output *const output,
flags |= LOG_OUTPUT_FLAG_FORMAT_TIMESTAMP;
}
if (IS_ENABLED(CONFIG_LOG_IMMEDIATE) &&
IS_ENABLED(CONFIG_LOG_IMMEDIATE_CLEAN_OUTPUT)) {
if (IS_ENABLED(CONFIG_LOG_IMMEDIATE_CLEAN_OUTPUT)) {
/* In order to ensure that one log processing is not interrupted
* by another one, lock context for whole log processing.
*/
@ -111,8 +110,7 @@ log_backend_std_sync_string(const struct log_output *const output,
log_output_string(output, src_level, timestamp, fmt, ap, flags);
if (IS_ENABLED(CONFIG_LOG_IMMEDIATE) &&
IS_ENABLED(CONFIG_LOG_IMMEDIATE_CLEAN_OUTPUT)) {
if (IS_ENABLED(CONFIG_LOG_IMMEDIATE_CLEAN_OUTPUT)) {
irq_unlock(key);
}
}
@ -144,8 +142,7 @@ log_backend_std_sync_hexdump(const struct log_output *const output,
flags |= LOG_OUTPUT_FLAG_FORMAT_TIMESTAMP;
}
if (IS_ENABLED(CONFIG_LOG_IMMEDIATE) &&
IS_ENABLED(CONFIG_LOG_IMMEDIATE_CLEAN_OUTPUT)) {
if (IS_ENABLED(CONFIG_LOG_IMMEDIATE_CLEAN_OUTPUT)) {
/* In order to ensure that one log processing is not interrupted
* by another one, lock context for whole log processing.
*/
@ -155,8 +152,7 @@ log_backend_std_sync_hexdump(const struct log_output *const output,
log_output_hexdump(output, src_level, timestamp,
metadata, data, length, flags);
if (IS_ENABLED(CONFIG_LOG_IMMEDIATE) &&
IS_ENABLED(CONFIG_LOG_IMMEDIATE_CLEAN_OUTPUT)) {
if (IS_ENABLED(CONFIG_LOG_IMMEDIATE_CLEAN_OUTPUT)) {
irq_unlock(key);
}
}

View file

@ -202,7 +202,7 @@ extern "C" {
#define Z_LOG_INTERNAL2(is_user_context, _src_level, ...) do { \
if (is_user_context) { \
log_from_user(_src_level, __VA_ARGS__); \
} else if (IS_ENABLED(CONFIG_LOG_IMMEDIATE)) { \
} else if (IS_ENABLED(CONFIG_LOG_MODE_IMMEDIATE)) { \
log_string_sync(_src_level, __VA_ARGS__); \
} else { \
Z_LOG_INTERNAL_X(Z_LOG_NARGS_POSTFIX(__VA_ARGS__), \
@ -442,7 +442,7 @@ static inline char z_log_minimal_level_to_char(int level)
if (is_user_context) { \
log_hexdump_from_user(src_level, _str, \
(const char *)_data, _len); \
} else if (IS_ENABLED(CONFIG_LOG_IMMEDIATE)) { \
} else if (IS_ENABLED(CONFIG_LOG_MODE_IMMEDIATE)) { \
log_hexdump_sync(src_level, _str, (const char *)_data, _len); \
} else { \
log_hexdump(_str, (const char *)_data, _len, src_level); \
@ -860,7 +860,7 @@ static inline log_arg_t z_log_do_strdup(uint32_t msk, uint32_t idx,
do { \
if (is_user_context) { \
log_generic_from_user(_src_level, _str, _valist); \
} else if (IS_ENABLED(CONFIG_LOG_IMMEDIATE)) { \
} else if (IS_ENABLED(CONFIG_LOG_MODE_IMMEDIATE)) { \
log_generic(_src_level, _str, _valist, _strdup_action); \
} else if (_argnum == 0) { \
_LOG_INTERNAL_0(_src_level, _str); \

View file

@ -201,10 +201,9 @@ uint32_t log_get_strdup_longest_string(void);
*/
static inline bool log_data_pending(void)
{
if (IS_ENABLED(CONFIG_LOG2_MODE_DEFERRED)) {
return z_log_msg2_pending();
} else if (IS_ENABLED(CONFIG_LOG_MODE_DEFERRED)) {
return log_msg_mem_get_used() > 0;
if (IS_ENABLED(CONFIG_LOG_MODE_DEFERRED)) {
return IS_ENABLED(CONFIG_LOG2) ?
z_log_msg2_pending() : (log_msg_mem_get_used() > 0);
}
return false;

View file

@ -353,7 +353,7 @@ do {\
Z_LOG_FMT_ARGS(_fmt, ##__VA_ARGS__));\
_mode = Z_LOG_MSG2_MODE_RUNTIME; \
} while (0)
#elif defined(CONFIG_LOG2_MODE_IMMEDIATE) /* CONFIG_LOG2_ALWAYS_RUNTIME */
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) /* CONFIG_LOG2_ALWAYS_RUNTIME */
#define Z_LOG_MSG2_CREATE2(_try_0cpy, _mode, _cstr_cnt, _domain_id, _source,\
_level, _data, _dlen, ...) \
do { \

View file

@ -91,9 +91,9 @@ int z_shell_log_backend_output_func(uint8_t *data, size_t length, void *ctx);
.log_output = &_name##_log_output, \
.control_block = &_name##_control_block, \
.timeout = _timeout, \
.mpsc_buffer_config = IS_ENABLED(CONFIG_LOG2_MODE_DEFERRED) ? \
.mpsc_buffer_config = IS_ENABLED(CONFIG_LOG2_DEFERRED) ? \
&_name##_mpsc_buffer_config : NULL, \
.mpsc_buffer = IS_ENABLED(CONFIG_LOG2_MODE_DEFERRED) ? \
.mpsc_buffer = IS_ENABLED(CONFIG_LOG2_DEFERRED) ? \
&_name##_mpsc_buffer : NULL, \
}