@@ -55,19 +55,28 @@ void mgos_mqtt_set_connect_fn(mgos_mqtt_connect_fn_t fn, void *fn_arg) {
55
55
static void s_debug_write_cb (int ev , void * ev_data , void * userdata ) {
56
56
if (s_conn == NULL ) return ;
57
57
struct mgos_debug_hook_arg * arg = (struct mgos_debug_hook_arg * ) ev_data ;
58
- const char * topic =
59
- (arg -> fd == 1
60
- ? mgos_sys_config_get_debug_stdout_topic ()
61
- : arg -> fd == 2 ? mgos_sys_config_get_debug_stderr_topic () : NULL );
58
+ const char * topic = (arg -> fd == 1 ? mgos_sys_config_get_debug_stdout_topic ()
59
+ : arg -> fd == 2 ? mgos_sys_config_get_debug_stderr_topic ()
60
+ : NULL );
62
61
if (topic != NULL &&
63
62
mgos_mqtt_num_unsent_bytes () < MGOS_MQTT_LOG_PUSHBACK_THRESHOLD ) {
64
63
static uint32_t s_seq = 0 ;
65
64
char * msg = arg -> buf ;
65
+
66
+ int log_level = arg -> fd ;
67
+
68
+ if (mgos_sys_config_get_mqtt_debug_use_log_level ()) {
69
+ log_level = (int ) arg -> level ; // ie LL_INFO
70
+ if (arg -> fd == 2 ) { // stderr
71
+ log_level = 0 ; // LL_ERROR
72
+ }
73
+ }
74
+
66
75
int msg_len = mg_asprintf (
67
76
& msg , MGOS_DEBUG_TMP_BUF_SIZE , "%s %u %.3lf %d|%.*s" ,
68
77
(mgos_sys_config_get_device_id () ? mgos_sys_config_get_device_id ()
69
78
: "-" ),
70
- (unsigned int ) s_seq , mg_time (), arg -> fd , (int ) arg -> len ,
79
+ (unsigned int ) s_seq , mg_time (), log_level , (int ) arg -> len ,
71
80
(const char * ) arg -> data );
72
81
if (arg -> len > 0 ) {
73
82
mgos_mqtt_conn_pub (s_conn , topic , mg_mk_str_n (msg , msg_len ), 0 /* qos */ ,
0 commit comments