ESPHome
2026.3.0-dev
Loading...
Searching...
No Matches
esphome
components
logger
logger_host.cpp
Go to the documentation of this file.
1
#if defined(USE_HOST)
2
#include "
logger.h
"
3
4
namespace
esphome::logger
{
5
6
void
HOT
Logger::write_msg_
(
const
char
*msg, uint16_t
len
) {
7
static
constexpr
size_t
TIMESTAMP_LEN = 10;
// "[HH:MM:SS]"
8
static
constexpr
size_t
HEADROOM = 128;
// Extra space for ANSI codes, newline, etc.
9
char
buffer[TIMESTAMP_LEN + ESPHOME_LOGGER_TX_BUFFER_SIZE + HEADROOM];
10
11
time_t rawtime;
12
time(&rawtime);
13
struct
tm timeinfo;
14
localtime_r
(&rawtime, &timeinfo);
// Thread-safe version
15
size_t
pos
= strftime(buffer, TIMESTAMP_LEN + 1,
"[%H:%M:%S]"
, &timeinfo);
16
17
// Copy message (with newline already included by caller)
18
size_t
copy_len = std::min(
static_cast<
size_t
>
(
len
),
sizeof
(buffer) -
pos
);
19
memcpy(buffer +
pos
, msg, copy_len);
20
pos
+= copy_len;
21
22
// Single write for everything
23
fwrite(buffer, 1,
pos
, stdout);
24
}
25
26
void
Logger::pre_setup
() {
global_logger
=
this
; }
27
28
}
// namespace esphome::logger
29
30
#endif
esphome::logger::Logger::write_msg_
void write_msg_(const char *msg, uint16_t len)
Definition
logger_esp32.cpp:122
esphome::logger::Logger::pre_setup
void pre_setup()
Set up this component.
Definition
logger_esp32.cpp:86
logger.h
esphome::logger
Definition
log_buffer.h:6
esphome::logger::global_logger
Logger * global_logger
Definition
logger.cpp:278
esphome::len
std::string size_t len
Definition
helpers.h:817
esphome::pos
size_t size_t pos
Definition
helpers.h:854
localtime_r
struct tm * localtime_r(const time_t *timer, struct tm *result)
Definition
posix_tz.cpp:472
Generated by
1.12.0