Line data Source code
1 0 : /*
2 : * Copyright (c) 2019 Nordic Semiconductor ASA
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 : #ifndef ZEPHYR_LOG_BACKEND_STD_H_
7 : #define ZEPHYR_LOG_BACKEND_STD_H_
8 :
9 : #include <zephyr/logging/log_msg.h>
10 : #include <zephyr/logging/log_output.h>
11 : #include <zephyr/kernel.h>
12 :
13 : #ifdef __cplusplus
14 : extern "C" {
15 : #endif
16 :
17 : /**
18 : * @brief Logger backend interface for forwarding to standard backend
19 : * @defgroup log_backend_std Logger backend standard interface
20 : * @ingroup logger
21 : * @{
22 : */
23 :
24 0 : static inline uint32_t log_backend_std_get_flags(void)
25 : {
26 : uint32_t flags = (LOG_OUTPUT_FLAG_LEVEL | LOG_OUTPUT_FLAG_TIMESTAMP);
27 :
28 : if (IS_ENABLED(CONFIG_LOG_BACKEND_SHOW_COLOR)) {
29 : flags |= LOG_OUTPUT_FLAG_COLORS;
30 : }
31 :
32 : if (IS_ENABLED(CONFIG_LOG_BACKEND_FORMAT_TIMESTAMP)) {
33 : flags |= LOG_OUTPUT_FLAG_FORMAT_TIMESTAMP;
34 : }
35 :
36 : if (IS_ENABLED(CONFIG_LOG_THREAD_ID_PREFIX)) {
37 : flags |= LOG_OUTPUT_FLAG_THREAD;
38 : }
39 :
40 : return flags;
41 : }
42 :
43 : /** @brief Put a standard logger backend into panic mode.
44 : *
45 : * @param output Log output instance.
46 : */
47 : static inline void
48 1 : log_backend_std_panic(const struct log_output *const output)
49 : {
50 : log_output_flush(output);
51 : }
52 :
53 : /** @brief Report dropped messages to a standard logger backend.
54 : *
55 : * @param output Log output instance.
56 : * @param cnt Number of dropped messages.
57 : */
58 : static inline void
59 1 : log_backend_std_dropped(const struct log_output *const output, uint32_t cnt)
60 : {
61 : log_output_dropped_process(output, cnt);
62 : }
63 :
64 : /**
65 : * @}
66 : */
67 :
68 : #ifdef __cplusplus
69 : }
70 : #endif
71 :
72 : #endif /* ZEPHYR_LOG_BACKEND_STD_H_ */
|