server/settings/js/log.js
Georg Ehrke f579f2bd94 add Download logfile button to admin settings
add logSettingsController

add download logfile button

move getEntries to LogSettingsController

move set log level to logsettingscontroller.php

add warning if logfile is bigger than 100MB

add unit test for set log level

fix typecasting, add new line at EoF

show log and logfile download only if log_type is set to owncloud

add unit test for getFilenameForDownload
2015-01-07 14:55:53 +01:00

79 lines
1.9 KiB
JavaScript

/**
* Copyright (c) 2012, Robin Appelman <icewind1991@gmail.com>
* Copyright (c) 2013, Morris Jobke <morris.jobke@gmail.com>
* This file is licensed under the Affero General Public License version 3 or later.
* See the COPYING-README file.
*/
/* global formatDate */
OC.Log = {
reload: function (count) {
if (!count) {
count = OC.Log.loaded;
}
OC.Log.loaded = 0;
$('#log tbody').empty();
OC.Log.getMore(count);
},
levels: ['Debug', 'Info', 'Warning', 'Error', 'Fatal'],
loaded: 3,//are initially loaded
getMore: function (count) {
count = count || 10;
$.get(OC.generateUrl('/settings/admin/log/entries'), {offset: OC.Log.loaded, count: count}, function (result) {
OC.Log.addEntries(result.data);
if (!result.remain) {
$('#moreLog').hide();
}
$('#lessLog').show();
});
},
showLess: function (count) {
count = count || 10;
//calculate remaining items - at least 3
OC.Log.loaded = Math.max(3, OC.Log.loaded - count);
$('#moreLog').show();
// remove all non-remaining items
$('#log tr').slice(OC.Log.loaded).remove();
if (OC.Log.loaded <= 3) {
$('#lessLog').hide();
}
},
addEntries: function (entries) {
for (var i = 0; i < entries.length; i++) {
var entry = entries[i];
var row = $('<tr/>');
var levelTd = $('<td/>');
levelTd.text(OC.Log.levels[entry.level]);
row.append(levelTd);
var appTd = $('<td/>');
appTd.text(entry.app);
row.append(appTd);
var messageTd = $('<td/>');
messageTd.text(entry.message);
row.append(messageTd);
var timeTd = $('<td/>');
timeTd.addClass('date');
if (isNaN(entry.time)) {
timeTd.text(entry.time);
} else {
timeTd.text(formatDate(entry.time * 1000));
}
row.append(timeTd);
$('#log').append(row);
}
OC.Log.loaded += entries.length;
}
};
$(document).ready(function () {
$('#moreLog').click(function () {
OC.Log.getMore();
});
$('#lessLog').click(function () {
OC.Log.showLess();
});
});