添加日志

This commit is contained in:
admin
2026-02-25 11:30:28 +08:00
parent 9d060f9f40
commit 46783bf672
3 changed files with 235 additions and 10 deletions

View File

@@ -5,16 +5,34 @@
#include <string.h>
#include <strings.h>
#include "esp_log.h"
#include "image_generation.h"
#include "printer_protocol.h"
#include "raster_tools.h"
static const char *TAG = "rest_print";
static const char *trace_id_or_default(const char *trace_id) {
return (trace_id != NULL && trace_id[0] != '\0') ? trace_id : "-";
}
static esp_err_t submit_raster_job_and_reply(httpd_req_t *req,
const uint8_t *raw,
size_t raw_len,
uint16_t width,
uint16_t height,
const char *density,
const char *warning) {
const char *warning,
const char *trace_id) {
const char *trace = trace_id_or_default(trace_id);
ESP_LOGI(TAG,
"print submit start, trace=%s, raster_bytes=%u, size=%ux%u, density=%s",
trace,
(unsigned)raw_len,
(unsigned)width,
(unsigned)height,
density != NULL ? density : "中等");
char submit_err[128] = {0};
uint32_t job_id = 0;
esp_err_t submit_rc = printer_protocol_submit_raster_job(raw,
@@ -26,11 +44,18 @@ static esp_err_t submit_raster_job_and_reply(httpd_req_t *req,
submit_err,
sizeof(submit_err));
if (submit_rc != ESP_OK) {
ESP_LOGW(TAG,
"print submit failed, trace=%s, rc=0x%x, msg=%s",
trace,
(unsigned)submit_rc,
submit_err[0] != '\0' ? submit_err : "submit failed");
return rest_server_send_error(req,
"400 Bad Request",
submit_err[0] != '\0' ? submit_err : "submit failed");
}
ESP_LOGI(TAG, "print submit done, trace=%s, job_id=%u", trace, (unsigned)job_id);
cJSON *root = cJSON_CreateObject();
cJSON_AddBoolToObject(root, "ok", true);
cJSON_AddNumberToObject(root, "job_id", job_id);
@@ -524,6 +549,7 @@ esp_err_t rest_server_print_raster_post(httpd_req_t *req) {
(uint16_t)jwidth->valuedouble,
(uint16_t)jheight->valuedouble,
density,
NULL,
NULL);
free(raw);
cJSON_Delete(json);
@@ -562,6 +588,15 @@ static esp_err_t rest_server_print_image_binary(httpd_req_t *req) {
&max_height,
&density);
ESP_LOGI(TAG,
"image process start (upload), png_bytes=%u, scale_to_width=%d, threshold=%u, invert=%d, max_height=%u, density=%s",
(unsigned)req->content_len,
scale_to_width,
(unsigned)threshold,
invert,
(unsigned)max_height,
density != NULL ? density : "中等");
char *body = NULL;
esp_err_t body_err = rest_server_read_body(req, &body);
if (body_err != ESP_OK) {
@@ -587,17 +622,28 @@ static esp_err_t rest_server_print_image_binary(httpd_req_t *req) {
sizeof(decode_err));
free(body);
if (decode_rc != ESP_OK) {
ESP_LOGW(TAG,
"image process failed (upload), rc=0x%x, msg=%s",
(unsigned)decode_rc,
decode_err[0] != '\0' ? decode_err : "decode png failed");
return rest_server_send_error(req,
"400 Bad Request",
decode_err[0] != '\0' ? decode_err : "decode png failed");
}
ESP_LOGI(TAG,
"image process done (upload), raster_size=%ux%u, raster_bytes=%u",
(unsigned)width,
(unsigned)height,
(unsigned)raster_len);
esp_err_t submit_rc = submit_raster_job_and_reply(req,
raster,
raster_len,
width,
height,
density,
NULL,
NULL);
free(raster);
return submit_rc;
@@ -638,6 +684,22 @@ static esp_err_t rest_server_print_image_generate(httpd_req_t *req) {
cJSON_Delete(json);
json = NULL;
ESP_LOGI(TAG,
"image generate start, prompt_len=%u, size=%s, prompt_extend=%d, seed=%s, timeout_ms=%u, fetch_timeout_ms=%u",
(unsigned)strlen(gen_opt.prompt),
gen_opt.has_size ? gen_opt.size : "default",
gen_opt.prompt_extend,
gen_opt.has_seed ? "set" : "auto",
(unsigned)gen_opt.timeout_ms,
(unsigned)gen_opt.fetch_timeout_ms);
ESP_LOGI(TAG,
"image process config, scale_to_width=%d, threshold=%u, invert=%d, max_height=%u, density=%s",
print_opt.scale_to_width,
(unsigned)print_opt.threshold,
print_opt.invert,
(unsigned)print_opt.max_height,
print_opt.density != NULL ? print_opt.density : "中等");
image_generation_request_t gen_req = {
.prompt = gen_opt.prompt,
.size = gen_opt.has_size ? gen_opt.size : NULL,
@@ -661,6 +723,10 @@ static esp_err_t rest_server_print_image_generate(httpd_req_t *req) {
model_err,
sizeof(model_err));
if (gen_rc != ESP_OK) {
ESP_LOGW(TAG,
"image generate failed, rc=0x%x, msg=%s",
(unsigned)gen_rc,
model_err[0] != '\0' ? model_err : "image generation failed");
ret = rest_server_send_image_generation_error(req, gen_rc, model_err);
goto cleanup;
}
@@ -669,6 +735,13 @@ static esp_err_t rest_server_print_image_generate(httpd_req_t *req) {
strlcpy(request_id, gen_result->request_id, sizeof(request_id));
}
ESP_LOGI(TAG,
"image generate done, request_id=%s, model_size=%ux%u, png_bytes=%u",
request_id[0] != '\0' ? request_id : "-",
(unsigned)gen_result->width,
(unsigned)gen_result->height,
(unsigned)gen_result->png_len);
uint16_t width = 0;
uint16_t height = 0;
size_t raster_len = 0;
@@ -686,12 +759,22 @@ static esp_err_t rest_server_print_image_generate(httpd_req_t *req) {
decode_err,
sizeof(decode_err));
if (decode_rc != ESP_OK) {
ESP_LOGW(TAG,
"image process failed (generated), rc=0x%x, msg=%s",
(unsigned)decode_rc,
decode_err[0] != '\0' ? decode_err : "decode generated image failed");
ret = rest_server_send_error(req,
"400 Bad Request",
decode_err[0] != '\0' ? decode_err : "decode generated image failed");
goto cleanup;
}
ESP_LOGI(TAG,
"image process done (generated), raster_size=%ux%u, raster_bytes=%u",
(unsigned)width,
(unsigned)height,
(unsigned)raster_len);
char warning[160] = {0};
if (request_id[0] != '\0') {
snprintf(warning, sizeof(warning), "z-image request_id=%s", request_id);
@@ -703,7 +786,8 @@ static esp_err_t rest_server_print_image_generate(httpd_req_t *req) {
width,
height,
print_opt.density,
warning);
warning,
request_id);
cleanup:
if (body != NULL) {
@@ -826,6 +910,7 @@ esp_err_t rest_server_print_qr_post(httpd_req_t *req) {
width,
height,
density,
NULL,
NULL);
free(raster);
return submit_rc;
@@ -914,6 +999,7 @@ esp_err_t rest_server_print_label_post(httpd_req_t *req) {
width,
height,
density,
NULL,
NULL);
free(raster);
return submit_rc;
@@ -992,7 +1078,8 @@ esp_err_t rest_server_print_text_post(httpd_req_t *req) {
width,
height,
density,
render_msg);
render_msg,
NULL);
free(raster);
return submit_rc;
}
@@ -1111,7 +1198,8 @@ esp_err_t rest_server_print_receipt_post(httpd_req_t *req) {
width,
height,
density,
render_msg);
render_msg,
NULL);
free(raster);
return submit_rc;
}