49 if (!buf || count < 5) {
60 for (
size_t i = 1; i < count && i < 10; i++) {
67 if (bracket_end < 3) {
72 int level_len = bracket_end - 1;
73 const char *level_start = (
const char *)&buf[1];
76 if (level_len == 3 && strncmp(level_start,
"DEV", 3) == 0) {
79 if (level_len == 5 && strncmp(level_start,
"DEBUG", 5) == 0) {
82 if (level_len == 4 && strncmp(level_start,
"INFO", 4) == 0) {
85 if (level_len == 4 && strncmp(level_start,
"WARN", 4) == 0) {
88 if (level_len == 5 && strncmp(level_start,
"ERROR", 5) == 0) {
91 if (level_len == 5 && strncmp(level_start,
"FATAL", 5) == 0) {
101 if ((fd == 1 || fd == 2) && buf && count > 0) {
107 static char msg_buffer[4096];
108 size_t copy_len = (count <
sizeof(msg_buffer) - 1) ? count : (
sizeof(msg_buffer) - 1);
109 memcpy(msg_buffer, buf, copy_len);
110 msg_buffer[copy_len] =
'\0';
113 if (copy_len > 0 && msg_buffer[copy_len - 1] ==
'\n') {
114 msg_buffer[copy_len - 1] =
'\0';
118 js_console_log(level, msg_buffer);
EM_JS(void, js_console_log,(int level, const char *message), { const msg=UTF8ToString($1);switch($0) { case 0:case 1:console.debug(msg);break;case 2:console.log(msg);break;case 3:console.warn(msg);break;case 4:case 5:console.error(msg);break;default:console.log(msg);} })