完整实例:
const dialog = reactive({visible:false,processInstanceName:'test',data:"[LOG-PATH]: /data/dolphinscheduler-3.2.2/worker-server/logs/20250424/139319459684832/1/42/45.log, [HOST]: 10.10.15.152:1234\n[INFO] 2025-04-24 20:04:38.653 +0800 - \r\n***********************************************************************************************\r\n[INFO] 2025-04-24 20:04:38.653 +0800 - ********************************* Initialize task context ***********************************\r\n[INFO] 2025-04-24 20:04:38.653 +0800 - ***********************************************************************************************\r\n[INFO] 2025-04-24 20:04:38.653 +0800 - Begin to initialize task\r\n[INFO] 2025-04-24 20:04:38.653 +0800 - Set task startTime: 1745496278653\r\n[INFO] 2025-04-24 20:04:38.654 +0800 - Set task appId: 42_45\r\n[INFO] 2025-04-24 20:04:38.654 +0800 - End initialize task {\r\n \"taskInstanceId\" : 45,\r\n \"taskName\" : \"测试管道失败\",\r\n \"firstSubmitTime\" : 1745496278627,\r\n \"startTime\" : 1745496278653,\r\n \"taskType\" : \"SEATUNNEL\",\r\n \"workflowInstanceHost\" : \"10.10.15.152:5678\",\r\n \"host\" : \"10.10.15.152:1234\",\r\n \"logPath\" : \"/data/dolphinscheduler-3.2.2/worker-server/logs/20250424/139319459684832/1/42/45.log\",\r\n \"processId\" : 0,\r\n \"processDefineCode\" : 139319459684832,\r\n \"processDefineVersion\" : 1,\r\n \"processInstanceId\" : 42,\r\n \"scheduleTime\" : 0,\r\n \"executorId\" : 13,\r\n \"cmdTypeIfComplement\" : 0,\r\n \"tenantCode\" : \"default\",\r\n \"processDefineId\" : 0,\r\n \"projectId\" : 0,\r\n \"projectCode\" : 137973307131040,\r\n \"taskParams\" : \"{\\\"useCustom\\\":true,\\\"deployMode\\\":\\\"cluster\\\",\\\"rawScript\\\":\\\"{\\\\\\\"env\\\\\\\":{\\\\\\\"job.retry.interval.seconds\\\\\\\":null,\\\\\\\"job.mode\\\\\\\":\\\\\\\"BATCH\\\\\\\",\\\\\\\"job.retry.times\\\\\\\":null},\\\\\\\"source\\\\\\\":[{\\\\\\\"password\\\\\\\":\\\\\\\"rootroot\\\\\\\",\\\\\\\"driver\\\\\\\":\\\\\\\"com.mysql.cj.jdbc.Driver\\\\\\\",\\\\\\\"plugin_output\\\\\\\":\\\\\\\"source_output1\\\\\\\",\\\\\\\"query\\\\\\\":\\\\\\\"SELECT i, NOW() AS data_append_time FROM 99_user_test.dt_num\\\\\\\",\\\\\\\"connection_check_timeout_sec\\\\\\\":100,\\\\\\\"plugin_name\\\\\\\":\\\\\\\"Jdbc\\\\\\\",\\\\\\\"user\\\\\\\":\\\\\\\"root\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"jdbc:mysql://10.10.11.107:3306/luoshu_data\\\\\\\"},{\\\\\\\"password\\\\\\\":\\\\\\\"rootroot\\\\\\\",\\\\\\\"driver\\\\\\\":\\\\\\\"com.mysql.cj.jdbc.Driver\\\\\\\",\\\\\\\"plugin_output\\\\\\\":\\\\\\\"source_output2\\\\\\\",\\\\\\\"query\\\\\\\":\\\\\\\"SELECT table0, table1, table2, table22, NOW() AS data_append_time FROM 99_user_test.ods_dim_123\\\\\\\",\\\\\\\"connection_check_timeout_sec\\\\\\\":100,\\\\\\\"plugin_name\\\\\\\":\\\\\\\"Jdbc\\\\\\\",\\\\\\\"user\\\\\\\":\\\\\\\"root\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"jdbc:mysql://10.10.11.107:3306/luoshu_data\\\\\\\"},{\\\\\\\"password\\\\\\\":\\\\\\\"rootroot\\\\\\\",\\\\\\\"driver\\\\\\\":\\\\\\\"com.mysql.cj.jdbc.Driver\\\\\\\",\\\\\\\"plugin_output\\\\\\\":\\\\\\\"source_output3\\\\\\\",\\\\\\\"query\\\\\\\":\\\\\\\"SELECT id, nickname, avatar, gender, country, province, city, language, privilege, is_from, create_time, update_time, del_flag, open_id, NOW() AS data_append_time FROM",})
const content = dialog.data;
const blob = new Blob([content], { type: 'text/plain' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = `${dialog.processInstanceName}.txt`;
a.click();
URL.revokeObjectURL(url);