使用javascript的语法高亮显示
我为我的Django网站创建了一个日志窗口——基本上只是从my views.py python logger创建的.txt日志文件中获取行,并在弹出窗口中显示它们。我为此创建的代码每秒从日志文件中获取行,并使用javascript将它们写入使用javascript的语法高亮显示,javascript,html,Javascript,Html,我为我的Django网站创建了一个日志窗口——基本上只是从my views.py python logger创建的.txt日志文件中获取行,并在弹出窗口中显示它们。我为此创建的代码每秒从日志文件中获取行,并使用javascript将它们写入元素。我希望能够根据消息级别(错误=红色,警告=黄色等)对消息进行颜色编码,但似乎无法理解 编辑 我能够给第一条警告消息上色,但不知道如何让它给所有消息上色 创建日志窗口的html/javascript代码如下所示: <body> <div
元素。我希望能够根据消息级别(错误=红色,警告=黄色等)对消息进行颜色编码,但似乎无法理解
编辑
我能够给第一条警告消息上色,但不知道如何让它给所有消息上色
创建日志窗口的html/javascript代码如下所示:
<body>
<div class="container-fluid">
<div class="panel panel-default">
<div class="panel-heading text-center">
<h4 class="text-center">Log Messages</h4>
</div>
<div class="panel-body">
<div class="content" id="logtext">
<font face="courier">
<span id="show" class='value'></span>
</font>
</div>
</div>
</div>
<script language="javascript" type="text/javascript">
function saveLogs(data){
sessionStorage.setItem("logs",data.message);
}
$(document).ready(
function() {
setInterval(function() {
Dajaxice.InterfaceApp.getLogs(saveLogs);
var logs = sessionStorage.getItem("logs");
document.querySelector('.content .value').innerText = logs;
$("div:contains('WARNING')").each(function () {
$(this).html($(this).html().replace("WARNING", "<span class='red'>WARNING</span>"));
});
}, 1000);
});
</script>
</div>
</body>
日志窗口当前看起来如下所示:
我希望能够根据级别对消息进行颜色编码。我尝试了一些方法(、和),但没有成功。看来日志消息有一个固定的简单格式,可以在整个日志上使用字符串替换,而不使用JQuery部分:
document.querySelector('.content .value').innerHTML = colorize(logs);
function colorize(logs) {
return logs.replace("(WARNING)", "(<span class='red'>WARNING</span>)");
}
document.querySelector('.content.value').innerHTML=colorize(日志);
函数着色(日志){
返回日志。替换(“(警告)”,“(警告)”);
}
因此,在每一行中循环查找(警告)或(错误)或(信息)并设置颜色。@epascarello我不知道该怎么做。做与警告相同的事情是很简单的,尝试一下,如果你拿不到它,再问一个问题。
…urp。。。
怎么样也就是说,一个有意义的类。
document.querySelector('.content .value').innerHTML = colorize(logs);
function colorize(logs) {
return logs.replace("(WARNING)", "(<span class='red'>WARNING</span>)");
}