You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
132 lines
4.7 KiB
132 lines
4.7 KiB
<script type="text/javascript">
|
|
//<![CDATA[
|
|
$(document).ready(function() {
|
|
var height = document.documentElement.clientHeight - 230;
|
|
$("#ylog").flexigrid({
|
|
url: "/ViewLog_p.json",
|
|
dataType: 'json',
|
|
method: 'GET',
|
|
colModel: [
|
|
{display: 'Level', name : 'icon', width : 25, sortable : true, align: 'center'},
|
|
{display: 'Date', name : 'date', width : 75, sortable : true, align: 'left'},
|
|
{display: 'Type', name : 'type', width : 125, sortable : true, align: 'left'},
|
|
{display: 'Server Log', name : 'logline', width : 700, sortable : true, align: 'left'}
|
|
],
|
|
hideOnSubmit: false,
|
|
striped: true,
|
|
nowrap: false,
|
|
height: height,
|
|
autoload: true,
|
|
useRp: true,
|
|
rp: 50,
|
|
usepager: false,
|
|
rpOptions: [50,100,200,300,400],
|
|
searchitems : [
|
|
{display: 'Filter RegExp', name : 'filter'}
|
|
],
|
|
query: '.*.*',
|
|
buttons: [
|
|
{name: '50', bclass: 'log-new', onpress: filter},
|
|
{name: '200', bclass: 'log-more', onpress: filter},
|
|
{name: '400', bclass: 'log-more', onpress: filter},
|
|
{separator: true},
|
|
{name: 'Debug', bclass: 'log-debug', onpress: filter},
|
|
{name: 'Info', bclass: 'log-info', onpress: filter},
|
|
{name: 'System', bclass: 'log-system', onpress: filter},
|
|
{name: 'Warning', bclass: 'log-warning', onpress: filter},
|
|
{name: 'Error', bclass: 'log-error', onpress: filter},
|
|
{separator: true},
|
|
{name: 'Help', bclass: 'help', onpress: function() {}},
|
|
],
|
|
preProcess: function(data) {
|
|
var clientname = data.clientname;
|
|
var lines = data.line;
|
|
var maxlines = data.maxlines;
|
|
var reverse = data.reverse;
|
|
var rows = {};
|
|
var counter = 0;
|
|
$.each (
|
|
data.loglines,
|
|
function(i,item) {
|
|
if (item) {
|
|
var icon = "";
|
|
if (item.loglevel == "Debug") icon = "<img style='margin-top: 8px;' src='img-2/magnify.png' alt='Debug' title='Debug'/>";
|
|
else if (item.loglevel == "Info") icon = "<img style='margin-top: 8px;' src='img-2/info.png' alt='Info' title='Info'/>";
|
|
else if (item.loglevel == "System") icon = "<img style='margin-top: 8px;' src='img-2/accept_green.png' alt='System' title='System'/>";
|
|
else if (item.loglevel == "Warning") icon = "<img style='margin-top: 8px;' src='img/blacklist.png' alt='Warning' title='Warning'/>";
|
|
else if (item.loglevel == "Error") icon = "<img style='margin-top: 8px;' src='img-2/stop.png' alt='Error' title='Error'/>";
|
|
var date = item.logline.substring(2,21);
|
|
var type = item.logline.substring(22,40).split(' ');
|
|
var log = item.logline.substring(22+type[0].length);
|
|
rows[i] = {id: i, cell: [icon, date, type[0], log]};
|
|
counter++;
|
|
}
|
|
}
|
|
);
|
|
counter--;
|
|
this.pagestat = "Displaying "+counter+" matching log lines of "+this.rp+" parsed log lines";
|
|
var pdata = {
|
|
page: 1,
|
|
total: lines,
|
|
rows: rows
|
|
};
|
|
$('#ylog tbody').empty();
|
|
return pdata;
|
|
},
|
|
onSubmit: function() {
|
|
$('#ylog').empty();
|
|
$('#ylog').append("<div class='yloading'><h3 class='linktitle'><em>Loading Server Log...</em><br/><img src='/yacy/ui/img/loading2.gif' align='absmiddle'/></h3></div>");
|
|
|
|
var p = this;
|
|
var g = $("#ylog");
|
|
|
|
$('.pPageStat',this.pDiv).html(p.procmsg);
|
|
$('.pReload',this.pDiv).addClass('loading');
|
|
if (g.bDiv) $(g.block).css({top:g.bDiv.offsetTop});
|
|
if (p.hideOnSubmit) $(this.gDiv).prepend(g.block); //$(t).hide();
|
|
// if ($.browser.opera) $(t).css('visibility','hidden');
|
|
if (!p.newp) p.newp = 1;
|
|
if (p.page>p.pages) p.page = p.pages;
|
|
|
|
var param = [
|
|
{ name : 'lines', value : p.rp }
|
|
,{ name : 'json', value : "true" }
|
|
,{ name : 'filter', value : p.query }
|
|
,{ name : 'reverse', value : "true"}
|
|
];
|
|
if (p.params) {
|
|
for (var pi = 0; pi < p.params.length; pi++) param[param.length] = p.params[pi];
|
|
}
|
|
$.getJSON(p.url, param,
|
|
function(json, status){
|
|
g.flexAddData(json);
|
|
}
|
|
);
|
|
}
|
|
});
|
|
});
|
|
function filter(com) {
|
|
var f = ".*.*";
|
|
var rp = 400;
|
|
if(com == "50") { f=".*.*"; rp = 50; };
|
|
if(com == "200") { f=".*.*"; rp = 200; };
|
|
if(com == "400") { f=".*.*"; rp = 400; };
|
|
if(com == "Debug") f="^D.*";
|
|
if(com == "Info") f="^I.*";
|
|
if(com == "System") f="^S.*";
|
|
if(com == "Warning") f="^W.*";
|
|
if(com == "Error") f="^E.*";
|
|
$('#ylog').flexOptions({
|
|
query: f,
|
|
qtype: "filter",
|
|
rp: rp
|
|
});
|
|
$('#ylog').flexReload();
|
|
}
|
|
//]]>
|
|
</script>
|
|
<!-- Flexigrid -->
|
|
<table id="ylog">
|
|
<tbody></tbody>
|
|
</table>
|