先整个DIV装日志 样式随便整

<div id="model_logs" style="width:500px;height:700px;padding:10px;"></div>

js: 

和后台交互 需要打印的日志调用outLogs("需要打印的日志");

我写的新日志加在最前面一行 需要用换顺序的prepend改成append丢日志div就行了

//输入日志
function outLogs(log) {
    var myDate = dateFormat("YYYY mm-dd HH:MM:SS", new Date());
    $("#model_logs").prepend('<p>[' + myDate + '] ' + log + '</p>');
}


//生成下载日志文件
function downloadLogs() {
    var logs = $("#model_logs").html().replace(/<p>/g, "");
    //替换</p>为"\r\n" windows txt中的换行符
    logs = logs.replace(/<\/p>/g, "\r\n");
    var filename = dateFormat("YYYYmmddHHMMSS", new Date()) + ".txt";
    var element = document.createElement('a');
    element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(logs));
    element.setAttribute('download', filename);
    element.style.display = 'none';
    document.body.appendChild(element);
    element.click();
    document.body.removeChild(element);
}

//格式化时间
function dateFormat(fmt, date) {
    let ret;
    const opt = {
        "Y+": date.getFullYear().toString(),        // 年
        "m+": (date.getMonth() + 1).toString(),     // 月
        "d+": date.getDate().toString(),            // 日
        "H+": date.getHours().toString(),           // 时
        "M+": date.getMinutes().toString(),         // 分
        "S+": date.getSeconds().toString()          // 秒
        // 有其他格式化字符需求可以继续添加,必须转化成字符串
    };
    for (let k in opt) {
        ret = new RegExp("(" + k + ")").exec(fmt);
        if (ret) {
            fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
        }
        ;
    }
    ;
    return fmt;
}

 

界面:

 

调用downloadLogs()导出的TXT如图:

 

 

 

 

顺颂时祺

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐