luci-mod-status: reimplement log pages as client side views
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
parent
b9bb34612e
commit
939b371bc7
7 changed files with 74 additions and 45 deletions
|
@ -39,10 +39,12 @@
|
||||||
"/proc/sys/net/netfilter/nf_conntrack_*": [ "read" ],
|
"/proc/sys/net/netfilter/nf_conntrack_*": [ "read" ],
|
||||||
"/proc/mounts": [ "read" ],
|
"/proc/mounts": [ "read" ],
|
||||||
"/usr/lib/lua/luci/version.lua": [ "read" ],
|
"/usr/lib/lua/luci/version.lua": [ "read" ],
|
||||||
|
"/bin/dmesg -r": [ "exec" ],
|
||||||
"/bin/ping *": [ "exec" ],
|
"/bin/ping *": [ "exec" ],
|
||||||
"/bin/ping6 *": [ "exec" ],
|
"/bin/ping6 *": [ "exec" ],
|
||||||
"/bin/traceroute *": [ "exec" ],
|
"/bin/traceroute *": [ "exec" ],
|
||||||
"/bin/traceroute6 *": [ "exec" ],
|
"/bin/traceroute6 *": [ "exec" ],
|
||||||
|
"/sbin/logread -e ^": [ "exec" ],
|
||||||
"/usr/bin/ping *": [ "exec" ],
|
"/usr/bin/ping *": [ "exec" ],
|
||||||
"/usr/bin/ping6 *": [ "exec" ],
|
"/usr/bin/ping6 *": [ "exec" ],
|
||||||
"/usr/bin/traceroute *": [ "exec" ],
|
"/usr/bin/traceroute *": [ "exec" ],
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
'use strict';
|
||||||
|
'require fs';
|
||||||
|
'require ui';
|
||||||
|
|
||||||
|
return L.view.extend({
|
||||||
|
load: function() {
|
||||||
|
return fs.exec_direct('/bin/dmesg', [ '-r' ]).catch(function(err) {
|
||||||
|
ui.addNotification(null, E('p', {}, _('Unable to load log data: ' + err.message)));
|
||||||
|
return '';
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
render: function(logdata) {
|
||||||
|
var loglines = logdata.trim().split(/\n/).map(function(line) {
|
||||||
|
return line.replace(/^<\d+>/, '');
|
||||||
|
});
|
||||||
|
|
||||||
|
return E([], [
|
||||||
|
E('h2', {}, [ _('Kernel Log') ]),
|
||||||
|
E('div', { 'id': 'content_syslog' }, [
|
||||||
|
E('textarea', {
|
||||||
|
'id': 'syslog',
|
||||||
|
'style': 'font-size:12px',
|
||||||
|
'readonly': 'readonly',
|
||||||
|
'wrap': 'off',
|
||||||
|
'rows': loglines.length + 1
|
||||||
|
}, [ loglines.join('\n') ])
|
||||||
|
])
|
||||||
|
]);
|
||||||
|
},
|
||||||
|
|
||||||
|
handleSaveApply: null,
|
||||||
|
handleSave: null,
|
||||||
|
handleReset: null
|
||||||
|
});
|
|
@ -0,0 +1,33 @@
|
||||||
|
'use strict';
|
||||||
|
'require fs';
|
||||||
|
'require ui';
|
||||||
|
|
||||||
|
return L.view.extend({
|
||||||
|
load: function() {
|
||||||
|
return fs.exec_direct('/sbin/logread', [ '-e', '^' ]).catch(function(err) {
|
||||||
|
ui.addNotification(null, E('p', {}, _('Unable to load log data: ' + err.message)));
|
||||||
|
return '';
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
render: function(logdata) {
|
||||||
|
var loglines = logdata.trim().split(/\n/);
|
||||||
|
|
||||||
|
return E([], [
|
||||||
|
E('h2', {}, [ _('System Log') ]),
|
||||||
|
E('div', { 'id': 'content_syslog' }, [
|
||||||
|
E('textarea', {
|
||||||
|
'id': 'syslog',
|
||||||
|
'style': 'font-size:12px',
|
||||||
|
'readonly': 'readonly',
|
||||||
|
'wrap': 'off',
|
||||||
|
'rows': loglines.length + 1
|
||||||
|
}, [ loglines.join('\n') ])
|
||||||
|
])
|
||||||
|
]);
|
||||||
|
},
|
||||||
|
|
||||||
|
handleSaveApply: null,
|
||||||
|
handleSave: null,
|
||||||
|
handleReset: null
|
||||||
|
});
|
|
@ -1,15 +0,0 @@
|
||||||
-- Copyright 2008 Steven Barth <steven@midlink.org>
|
|
||||||
-- Copyright 2011 Jo-Philipp Wich <jow@openwrt.org>
|
|
||||||
-- Licensed to the public under the Apache License 2.0.
|
|
||||||
|
|
||||||
module("luci.controller.admin.status", package.seeall)
|
|
||||||
|
|
||||||
function action_syslog()
|
|
||||||
local syslog = luci.sys.syslog()
|
|
||||||
luci.template.render("admin_status/syslog", {syslog=syslog})
|
|
||||||
end
|
|
||||||
|
|
||||||
function action_dmesg()
|
|
||||||
local dmesg = luci.sys.dmesg()
|
|
||||||
luci.template.render("admin_status/dmesg", {dmesg=dmesg})
|
|
||||||
end
|
|
|
@ -1,12 +0,0 @@
|
||||||
<%#
|
|
||||||
Copyright 2008 Steven Barth <steven@midlink.org>
|
|
||||||
Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
|
|
||||||
Licensed to the public under the Apache License 2.0.
|
|
||||||
-%>
|
|
||||||
|
|
||||||
<%+header%>
|
|
||||||
<h2 name="content"><%:Kernel Log%></h2>
|
|
||||||
<div id="content_syslog">
|
|
||||||
<textarea style="font-size: 12px;" readonly="readonly" wrap="off" rows="<%=dmesg:cmatch("\n")+2%>" id="syslog"><%=dmesg:pcdata()%></textarea>
|
|
||||||
</div>
|
|
||||||
<%+footer%>
|
|
|
@ -1,12 +0,0 @@
|
||||||
<%#
|
|
||||||
Copyright 2008 Steven Barth <steven@midlink.org>
|
|
||||||
Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
|
|
||||||
Licensed to the public under the Apache License 2.0.
|
|
||||||
-%>
|
|
||||||
|
|
||||||
<%+header%>
|
|
||||||
<h2 name="content"><%:System Log%></h2>
|
|
||||||
<div id="content_syslog">
|
|
||||||
<textarea style="font-size: 12px;" readonly="readonly" wrap="off" rows="<%=syslog:cmatch("\n")+2%>" id="syslog"><%=syslog:pcdata()%></textarea>
|
|
||||||
</div>
|
|
||||||
<%+footer%>
|
|
|
@ -30,9 +30,8 @@
|
||||||
"title": "System Log",
|
"title": "System Log",
|
||||||
"order": 4,
|
"order": 4,
|
||||||
"action": {
|
"action": {
|
||||||
"type": "call",
|
"type": "view",
|
||||||
"module": "luci.controller.admin.status",
|
"path": "status/syslog"
|
||||||
"function": "action_syslog"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -40,9 +39,8 @@
|
||||||
"title": "Kernel Log",
|
"title": "Kernel Log",
|
||||||
"order": 5,
|
"order": 5,
|
||||||
"action": {
|
"action": {
|
||||||
"type": "call",
|
"type": "view",
|
||||||
"module": "luci.controller.admin.status",
|
"path": "status/dmesg"
|
||||||
"function": "action_dmesg"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue