Enviar registros al control central (LCC.log)
Declaración
LCC.log(id, ...)
LCC.log(log_map)
Parámetros
- id
Tipo entero, en el rango 1~6; corresponde a los 6 canales de registro del control central - ...
Parámetro variable: cadena, tabla,
ImageObjectu objeto de estado de interfaz devuelto porLCC.capture_ui_state(); las tablas normales se serializan mediantetable.deep_dumpy las cadenas pueden usar los marcadores[DATE]y[LINE] - log_map
Tipo table; las claves son alias de registro (configurados mediante
set_log_aliases) y los valores pueden ser cadenas, tablas,ImageObject, objetos de estado de interfaz o tablas array que contengan estos elementos
Valores devueltos
- Ninguno
Descripción
Antes de enviar, comprueba que se haya configurado la dirección del control central; si no está configurada, lanza un error.
Ante un error de red, reintenta en bucle hasta tener éxito y muestra avisos mediantesys.toastdurante los reintentos.
Cuando se usa la tabla de alias, solo envía las claves que coinciden con un alias y escribe cada una en la columna correspondiente.
Si la tabla de alias no contiene ninguna clave coincidente, esta llamada no envía ninguna solicitud.
Ejemplo
LCC.log(1, "[DATE] 开始同步", { count = 128 })
LCC.log({
["状态"] = "同步完成",
["错误"] = "0"
})
Registros de imágenes
LCC.log admite mezclar texto, tablas normales e imágenes. Al pasar un ImageObject, la imagen se escribe en el registro como PNG de forma predeterminada; las cadenas con el formato data:image/png;base64,... o data:image/jpeg;base64,... también se reconocen automáticamente como imágenes.
LCC.log(1, "开始", screen.image(100, 100, 200, 200), "结束")
Si necesitas reducir el tamaño de la transferencia, puedes comprimir la imagen como una data URL JPEG y pasarla:
local img = screen.image(100, 100, 200, 200)
local jpg = "data:image/jpeg;base64," .. img:jpeg_data(0.7):base64_encode()
LCC.log(1, "压缩截图", jpg)
img:destroy()
La forma de tabla de alias también admite registros de imágenes. Si una tabla normal no contiene imágenes, se sigue mostrando mediante table.deep_dump; cuando una tabla array contiene imágenes, el contenido de texto e imágenes se renderiza en el orden del array.
LCC.set_log_aliases({ "状态", "错误" })
LCC.log({
["状态"] = { "你好", screen.image(243, 247, 336, 345), "世界" },
["错误"] = "0"
})
Los registros de imágenes son más adecuados para diagnosticar problemas o documentar momentos clave; no se recomienda usarlos como parte del registro de progreso habitual. Una sola imagen puede ocupar como máximo 20 MiB, el total de imágenes de una entrada está limitado a 20 MiB, cada imagen admite como máximo 12 millones de píxeles y cada entrada puede incluir hasta 8 imágenes; si se supera un límite o el formato no es compatible, LCC.log informa directamente del error. Las imágenes se cargan junto con la solicitud de registro; con muchos dispositivos, áreas de captura grandes o una salida de registros muy frecuente, el contenido gráfico aumenta notablemente la transferencia en la LAN, la decodificación del servidor y la presión de escritura en disco, lo que puede ralentizar otras solicitudes de control. Se recomienda registrar capturas solo en pasos importantes y recortarlas al área que deba observarse; si necesitas un muestreo continuo, reduce primero la frecuencia o comprime las imágenes como data URL JPEG.
Registros del estado de la interfaz
LCC.log puede recibir, como parámetro del contenido del registro o como valor de una tabla de alias, el objeto devuelto por LCC.capture_ui_state(). El objeto de estado de la interfaz no es una tabla de alias de registro; debes especificar un canal y LCC.log(state) lanza un error de parámetros. LCC.capture_ui_state() requiere ui_element 0.6.0 o posterior en el dispositivo; si el módulo no está disponible o la versión es demasiado antigua, actualiza XXTouch antes de usar capture_ui_state. El registro carga los bytes .xxtuie originales almacenados en caché por el objeto y usa [界面状态] como texto alternativo; también se admiten tablas de alias y arrays de texto e imágenes.
local state = LCC.capture_ui_state()
LCC.log(1, "提交失败", state)
state:destroy()
Una solicitud HTTP puede contener como máximo un estado de interfaz; tras decodificar, el total combinado de imágenes normales y del estado de interfaz de una misma solicitud no puede superar 20 MiB. No se puede escribir en el registro después de destruir el objeto. Para consultar el estado de captura, el guardado local y la liberación de recursos, visita LCC.capture_ui_state.
El historial de registros muestra las imágenes y los estados de interfaz como tarjetas adjuntas. Haz clic en una imagen para previsualizar el original y acceder al selector de color; haz clic en una tarjeta de estado para abrir la herramienta de elementos de texto y restaurar la captura y el árbol de elementos. Al exportar registros con adjuntos, puedes elegir exportar solo texto sin formato o un archivo zip con HTML navegable, imágenes originales y el .xxtuie original; si falta un archivo adjunto, el HTML muestra un marcador de ausencia y continúa exportando el resto del contenido y los adjuntos que aún existan.