<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>