This commit is contained in:
systemcrash
2026-03-17 03:54:10 +00:00
parent de99090014
commit 30da41ad99

View File

@@ -4,6 +4,7 @@
'require poll'; 'require poll';
'require rpc'; 'require rpc';
'require uci'; 'require uci';
'require fs';
'require ui'; 'require ui';
'require view'; 'require view';
@@ -76,21 +77,34 @@ var CBILogreadBox = function(logtag, name) {
const tz = uci.get('system', '@system[0]', 'zonename')?.replaceAll(' ', '_'); const tz = uci.get('system', '@system[0]', 'zonename')?.replaceAll(' ', '_');
const ts = uci.get('system', '@system[0]', 'clock_timestyle') || 0; const ts = uci.get('system', '@system[0]', 'clock_timestyle') || 0;
const hc = uci.get('system', '@system[0]', 'clock_hourcycle') || 0; const hc = uci.get('system', '@system[0]', 'clock_hourcycle') || 0;
const logEntries = await callLogRead(this.fetchMaxRows, false, true); let loglines = await callLogRead(this.fetchMaxRows, false, true)
const dateObj = new Intl.DateTimeFormat(undefined, { .then((logEntries) => {
dateStyle: 'medium', const dateObj = new Intl.DateTimeFormat(undefined, {
timeStyle: (ts == 0) ? 'long' : 'full', dateStyle: 'medium',
hourCycle: (hc == 0) ? undefined : hc, timeStyle: (ts == 0) ? 'long' : 'full',
timeZone: tz hourCycle: (hc == 0) ? undefined : hc,
}); timeZone: tz
});
let loglines = logEntries.map(entry => { return logEntries.map(entry => {
const time = new Date(entry?.time); const time = new Date(entry?.time);
const datestr = dateObj.format(time); const datestr = dateObj.format(time);
/* remember to add one since the 'any' entry occupies 1st position i.e. [0] */ /* remember to add one since the 'any' entry occupies 1st position i.e. [0] */
const facility = this.facilities[Math.floor(entry?.priority / 8) + 1][1] ?? 'unknown'; const facility = this.facilities[Math.floor(entry?.priority / 8) + 1][1] ?? 'unknown';
const severity = this.severity[(entry?.priority % 8) + 1][1] ?? 'unknown'; const severity = this.severity[(entry?.priority % 8) + 1][1] ?? 'unknown';
return `[${datestr}] ${facility}.${severity}: ${entry?.msg}`; return `[${datestr}] ${facility}.${severity}: ${entry?.msg}`;
});
})
.catch(function (){
return Promise.all([
L.resolveDefault(fs.stat('/usr/libexec/syslog-wrapper'), null),
]).then((stat) => {
const logger = stat[0]?.path;
return fs.exec_direct(logger)
.then(logdata => {
return logdata.trim().split(/\n/);
});
});
}); });
loglines = loglines.filter(line => { loglines = loglines.filter(line => {