diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index 6d60c8567d905d75defdcf47ca2b052e409a339e..97c986ca5fbc898ba7dbbc8d9545766ab002cff7 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -227,6 +227,9 @@ int eputs(int level, const char *str) if(*str == 0) return 0; + if(startup != NULL) + mqtt_lputs(&startup->mqtt, TOPIC_EVENT, level, str); + if(level <= LOG_ERR) { char errmsg[1024]; SAFEPRINTF(errmsg, "evnt %s", str); diff --git a/src/sbbs3/mqtt.c b/src/sbbs3/mqtt.c index cebbcf23e4931ef218e187ff80083e5a7e862665..3b98f81e38d52717c9f7b6f74ead9a8f221f2629 100644 --- a/src/sbbs3/mqtt.c +++ b/src/sbbs3/mqtt.c @@ -54,6 +54,9 @@ static char* format_topic(struct mqtt* mqtt, enum topic_depth depth, char* str, case TOPIC_SERVER: safe_snprintf(str, size, "sbbs/%s/%s/%s/%s", mqtt->cfg->sys_id, mqtt->host, mqtt->server, sbuf); break; + case TOPIC_EVENT: + safe_snprintf(str, size, "sbbs/%s/%s/event/%s", mqtt->cfg->sys_id, mqtt->host, sbuf); + break; default: safe_snprintf(str, size, "%s", sbuf); break; diff --git a/src/sbbs3/mqtt.h b/src/sbbs3/mqtt.h index bf24c7b8afbb077b88e034b3259699529f1f0ac2..ecc5aafe669debc47733492b544c4c9adc6a1255 100644 --- a/src/sbbs3/mqtt.h +++ b/src/sbbs3/mqtt.h @@ -46,6 +46,7 @@ enum topic_depth { TOPIC_ROOT, TOPIC_BBS, TOPIC_HOST, + TOPIC_EVENT, TOPIC_SERVER };