[logger] Replace std::function callbacks with LogListener interface (#12153)

This commit is contained in:
J. Nick Koston
2025-11-28 04:00:33 +00:00
committed by GitHub
parent 9bd148dfd1
commit 71dc402a30
12 changed files with 153 additions and 65 deletions
+13 -1
View File
@@ -15,6 +15,9 @@
#ifdef USE_API_USER_DEFINED_ACTIONS
#include "user_services.h"
#endif
#ifdef USE_LOGGER
#include "esphome/components/logger/logger.h"
#endif
#include <map>
#include <vector>
@@ -27,7 +30,13 @@ struct SavedNoisePsk {
} PACKED; // NOLINT
#endif
class APIServer : public Component, public Controller {
class APIServer : public Component,
public Controller
#ifdef USE_LOGGER
,
public logger::LogListener
#endif
{
public:
APIServer();
void setup() override;
@@ -37,6 +46,9 @@ class APIServer : public Component, public Controller {
void dump_config() override;
void on_shutdown() override;
bool teardown() override;
#ifdef USE_LOGGER
void on_log(uint8_t level, const char *tag, const char *message, size_t message_len) override;
#endif
#ifdef USE_API_PASSWORD
bool check_password(const uint8_t *password_data, size_t password_len) const;
void set_password(const std::string &password);