Registros de Ejecución¶
Los registros de ejecución son una excelente manera de realizar un seguimiento de la ejecución de un bot y proporcionar información útil para su operación y supervisión.
BotMaestro ofrece una implementación de registro de ejecución muy flexible que es muy fácil de usar y crear el registro que mejor se adapte a su caso de uso.
Puede crear tantos registros de ejecución personalizados como desee para organizar mejor sus datos y administrar sus automatizaciones.
En las siguientes secciones, le mostraremos cómo crear un registro de ejecución, insertar entradas de registro y eliminar un registro.
Important
En los métodos a continuación, el parámetro etiqueta de automatización
se referirá a la etiqueta de registro de ejecución que se creó.
Puede encontrar más detalles en la sección de registros de ejecución.
Crear un Registro de Ejecución¶
Para crear un nuevo registro ejecución, debemos proporcionar la siguiente información:
- Etiqueta de automatización (Etiqueta de registro de ejecución)
- Lista de columnas
El SDK proporciona la clase Columns
que ayuda a crear nuevas entradas.
Una instancia de Column
contiene la siguiente información:
name
: Texto que se mostrará en el Portal Web de BotMaestrolabel
: Identificador único para esta columna en este registrowidth
: Ancho sugerido en píxeles.
Así es como podemos crear un nuevo registro:
# Create a list of columns
columns = [
Column(name="Date/Time", label="timestamp", width=300),
Column(name="# Records", label="records", width=200),
Column(name="Status", label="status", width=100),
]
# Create a new log
maestro.new_log(
"logLabel",
columns
)
// Create a list of columns
List<Column> columns = Arrays.asList(
new Column("Date/Time", "timestamp", 300),
new Column("# Records", "records", 200),
new Column("Status", "status", 100)
);
// Create a new log
maestro.newLog("logLabel", columns);
// Create a list of columns
const columns = [
new Column("Date/Time", "timestamp", 300),
new Column("# Records", "records", 300),
new Column("Status", "status", 300),
]
// Create a new log
await maestro.createLog("logLabel", columns);
// Create a list of columns
const columns: Column[] = [
new Column("Date/Time", "timestamp", 300),
new Column("# Records", "records", 300),
new Column("Status", "status", 300),
]
// Create a new log
const log: Log = await maestro.createLog("logLabel", columns);
Crear nuevas Entradas de Registro de Ejecución¶
Con su nuevo y reluciente registro de ejecución listo, es hora de crear algunas entradas de registro.
Así es como puede insertar nuevas entradas de registro de ejecución:
import datetime
maestro.new_log_entry(
activity_label="logLabel",
values = {
"timestamp": datetime.datetime.now().strftime("%Y-%m-%d_%H-%M"),
"records": "10",
"status": "SUCCESS"
}
)
String timestamp = new SimpleDateFormat("yyyy-MM-dd_HH-mm").format(new java.util.Date());
Map<String,Object> values = new HashMap<>();
values.put("timestamp", timestamp);
values.put("records", "10");
values.put("status", "SUCCESS");
maestro.newLogEntry("logLabel", values);
await maestro.logEntry(
"logLabel",
{
timestamp: new Date().toISOString(),
records: "10",
status: "SUCCESS"
}
)
await maestro.logEntry(
"logLabel",
{
timestamp: new Date().toISOString(),
records: "10",
status: "SUCCESS"
}
)
Obtener Datos del Registro de Ejecución¶
Obtener datos del registro de ejecución es tan fácil como crear entradas de registro.
El argumento date
actúa como un filtro para la fecha inicial de recuperación del registro.
Note
El parámetro date
debe usar el formato DD/MM/YYYY
. Si no se informa date
, se recuperan todos los datos del registro de ejecución.
# Get the start date as 30 days ago
instant = (datetime.datetime.now() - datetime.timedelta(days=30))
date = instant.strftime("%d/%m/%Y")
# Get the log data
data = maestro.get_log(activity_label="logLabel", date=date)
// Obtener los datos del registro
List<Row> data = maestro.getLog("logLabel", 30);
const data = await maestro.fetchDataLog("logLabel", 30)
const data: DataLog[] = await maestro.fetchDataLog("logLabel", 30)
Descargar como CSV¶
Hoja de ruta
Aún no disponible.
// Define filter days to search
int days = 30;
// Define the path to save the file
File logFile = new File("<path to save>/log.csv");
// Retrieve the log data
byte[] data = maestro.getLogFile("logLabel", days);
// Save it to disk
Files.write(data, logFile);
// Define the path to save the file
const filepath = "log.csv"
// Define filter days to search
const days = 30
const data = await maestro("logLabel", filepath, days)
// Define the path to save the file
const filepath: string = "log.csv"
// Define filter days to search
const days: number = 30
const data: Buffer = await maestro("logLabel", filepath, days)
Eliminar un Registro de Ejecución Completo¶
Si por alguna razón necesita eliminar por completo el registro de ejecución junto con todas sus entradas, puede hacerlo utilizando el siguiente comando.
Warning
Esta operación borrará TODO el historial del registro y no se puede revertir.
maestro.delete_log(activity_label="logLabel")
maestro.deleteLog("logLabel");
await maestro.deleteLog("logLabel")
await maestro.deleteLog("logLabel")