Rename log files to tautulli

This commit is contained in:
JonnyWong16 2018-03-04 11:38:31 -08:00
parent 84aad638ac
commit 3b3e207b11
4 changed files with 73 additions and 73 deletions

View file

@ -21,9 +21,9 @@
<span><i class="fa fa-list-alt"></i> Logs</span> <span><i class="fa fa-list-alt"></i> Logs</span>
</div> </div>
<div class="button-bar"> <div class="button-bar">
<div class="btn-group" id="plexpy-log-levels"> <div class="btn-group" id="tautulli-log-levels">
<label> <label>
<select name="plexpy-log-level-filter" id="plexpy-log-level-filter" class="btn" style="color: inherit;"> <select name="tautulli-log-level-filter" id="tautulli-log-level-filter" class="btn" style="color: inherit;">
<option value="">All log levels</option> <option value="">All log levels</option>
<option disabled>&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;</option> <option disabled>&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;</option>
<option value="DEBUG">Debug</option> <option value="DEBUG">Debug</option>
@ -45,7 +45,7 @@
</select> </select>
</label> </label>
</div> </div>
<button class="btn btn-dark" id="download-plexpylog"><i class="fa fa-download"></i> Download logs</button> <button class="btn btn-dark" id="download-tautullilog"><i class="fa fa-download"></i> Download logs</button>
<button class="btn btn-dark" id="download-plexserverlog" style="display: none;"><i class="fa fa-download"></i> Download logs</button> <button class="btn btn-dark" id="download-plexserverlog" style="display: none;"><i class="fa fa-download"></i> Download logs</button>
<button class="btn btn-dark" id="download-plexscannerlog" style="display: none;"><i class="fa fa-download"></i> Download logs</button> <button class="btn btn-dark" id="download-plexscannerlog" style="display: none;"><i class="fa fa-download"></i> Download logs</button>
<button class="btn btn-dark" id="clear-logs"><i class="fa fa-trash-o"></i> Clear logs</button> <button class="btn btn-dark" id="clear-logs"><i class="fa fa-trash-o"></i> Clear logs</button>
@ -56,17 +56,17 @@
<div class='table-card-back'> <div class='table-card-back'>
<div> <div>
<ul id="log_tabs" class="nav nav-pills" role="tablist"> <ul id="log_tabs" class="nav nav-pills" role="tablist">
<li role="presentation" class="active"><a id="plexpy-logs-btn" href="#tabs-plexpy_log" aria-controls="tabs-plexpy_log" role="tab" data-toggle="tab">Tautulli Logs</a></li> <li role="presentation" class="active"><a id="tautulli-logs-btn" href="#tabs-tautulli_log" aria-controls="tabs-tautulli_log" role="tab" data-toggle="tab">Tautulli Logs</a></li>
<li role="presentation"><a id="plexpy-api-logs-btn" href="#tabs-plexpy_api_log" aria-controls="tabs-plexpy_api_log" role="tab" data-toggle="tab">Tautulli API Logs</a></li> <li role="presentation"><a id="tautulli-api-logs-btn" href="#tabs-tautulli_api_log" aria-controls="tabs-tautulli_api_log" role="tab" data-toggle="tab">Tautulli API Logs</a></li>
<li role="presentation"><a id="plex-logs-btn" href="#tabs-plex_log" aria-controls="tabs-plex_log" role="tab" data-toggle="tab">Plex Media Server Logs</a></li> <li role="presentation"><a id="plex-logs-btn" href="#tabs-plex_log" aria-controls="tabs-plex_log" role="tab" data-toggle="tab">Plex Media Server Logs</a></li>
<li role="presentation"><a id="plex-scanner-logs-btn" href="#tabs-plex_scanner_log" aria-controls="tabs-plex_scanner_log" role="tab" data-toggle="tab">Plex Media Scanner Logs</a></li> <li role="presentation"><a id="plex-scanner-logs-btn" href="#tabs-plex_scanner_log" aria-controls="tabs-plex_scanner_log" role="tab" data-toggle="tab">Plex Media Scanner Logs</a></li>
<li role="presentation"><a id="plexpy-websocket-logs-btn" href="#tabs-plex_websocket_log" aria-controls="tabs-plex_websocket_log" role="tab" data-toggle="tab">Plex Websocket Logs</a></li> <li role="presentation"><a id="plex-websocket-logs-btn" href="#tabs-plex_websocket_log" aria-controls="tabs-plex_websocket_log" role="tab" data-toggle="tab">Plex Websocket Logs</a></li>
<li role="presentation"><a id="notification-logs-btn" href="#tabs-notification_log" aria-controls="tabs-notification_log" role="tab" data-toggle="tab">Notification Logs</a></li> <li role="presentation"><a id="notification-logs-btn" href="#tabs-notification_log" aria-controls="tabs-notification_log" role="tab" data-toggle="tab">Notification Logs</a></li>
<li role="presentation"><a id="login-logs-btn" href="#tabs-login_log" aria-controls="tabs-login_log" role="tab" data-toggle="tab">Login Logs</a></li> <li role="presentation"><a id="login-logs-btn" href="#tabs-login_log" aria-controls="tabs-login_log" role="tab" data-toggle="tab">Login Logs</a></li>
</ul> </ul>
<div class="tab-content"> <div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="tabs-plexpy_log" data-logfile="plexpy"> <div role="tabpanel" class="tab-pane active" id="tabs-tautulli_log" data-logfile="tautulli">
<table class="display" id="plexpy_log_table" width="100%"> <table class="display" id="tautulli_log_table" width="100%">
<thead> <thead>
<tr> <tr>
<th class="min-tablet" align="left" id="timestamp">Timestamp</th> <th class="min-tablet" align="left" id="timestamp">Timestamp</th>
@ -77,8 +77,8 @@
<tbody></tbody> <tbody></tbody>
</table> </table>
</div> </div>
<div role="tabpanel" class="tab-pane" id="tabs-plexpy_api_log" data-logfile="plexpy_api"> <div role="tabpanel" class="tab-pane" id="tabs-tautulli_api_log" data-logfile="tautulli_api">
<table class="display" id="plexpy_api_log_table" width="100%"> <table class="display" id="tautulli_api_log_table" width="100%">
<thead> <thead>
<tr> <tr>
<th class="min-tablet" align="left" id="timestamp">Timestamp</th> <th class="min-tablet" align="left" id="timestamp">Timestamp</th>
@ -195,8 +195,8 @@
<script> <script>
$(document).ready(function() { $(document).ready(function() {
loadPlexPyLogs('plexpy', selected_log_level); loadtautullilogs('tautulli', selected_log_level);
clearSearchButton('plexpy_log_table', log_table); clearSearchButton('tautulli_log_table', log_table);
}); });
var log_levels = ['DEBUG', 'INFO', 'WARN', 'ERROR']; var log_levels = ['DEBUG', 'INFO', 'WARN', 'ERROR'];
@ -227,7 +227,7 @@
} }
var selected_log_level = null; var selected_log_level = null;
function loadPlexPyLogs(logfile, selected_log_level) { function loadtautullilogs(logfile, selected_log_level) {
log_table_options.ajax = { log_table_options.ajax = {
url: "get_log", url: "get_log",
type: 'post', type: 'post',
@ -238,10 +238,10 @@
log_level: selected_log_level log_level: selected_log_level
}; };
} }
} };
log_table = $('#' + logfile + '_log_table').DataTable(log_table_options); log_table = $('#' + logfile + '_log_table').DataTable(log_table_options);
$('#plexpy-log-level-filter').on('change', function () { $('#tautulli-log-level-filter').on('change', function () {
selected_log_level = $(this).val() || null; selected_log_level = $(this).val() || null;
log_table.draw(); log_table.draw();
}); });
@ -250,7 +250,7 @@
function loadPlexLogs() { function loadPlexLogs() {
plex_log_table_options.ajax = { plex_log_table_options.ajax = {
url: "get_plex_log?log_type=server" url: "get_plex_log?log_type=server"
} };
plex_log_table_options.initComplete = bindLogLevelFilter; plex_log_table_options.initComplete = bindLogLevelFilter;
plex_log_table = $('#plex_log_table').DataTable(plex_log_table_options); plex_log_table = $('#plex_log_table').DataTable(plex_log_table_options);
} }
@ -258,7 +258,7 @@
function loadPlexScannerLogs() { function loadPlexScannerLogs() {
plex_log_table_options.ajax = { plex_log_table_options.ajax = {
url: "get_plex_log?log_type=scanner" url: "get_plex_log?log_type=scanner"
} };
plex_log_table_options.initComplete = bindLogLevelFilter; plex_log_table_options.initComplete = bindLogLevelFilter;
plex_scanner_log_table = $('#plex_scanner_log_table').DataTable(plex_log_table_options); plex_scanner_log_table = $('#plex_scanner_log_table').DataTable(plex_log_table_options);
} }
@ -271,7 +271,7 @@
json_data: JSON.stringify(d) json_data: JSON.stringify(d)
}; };
} }
} };
notification_log_table = $('#notification_log_table').DataTable(notification_log_table_options); notification_log_table = $('#notification_log_table').DataTable(notification_log_table_options);
} }
@ -284,56 +284,56 @@
json_data: JSON.stringify(d) json_data: JSON.stringify(d)
}; };
} }
} };
login_log_table = $('#login_log_table').DataTable(login_log_table_options); login_log_table = $('#login_log_table').DataTable(login_log_table_options);
} }
$("#plexpy-logs-btn").click(function () { $("#tautulli-logs-btn").click(function () {
$("#plexpy-log-levels").show(); $("#tautulli-log-levels").show();
$("#plex-log-levels").hide(); $("#plex-log-levels").hide();
$("#clear-logs").show(); $("#clear-logs").show();
$("#download-plexpylog").show() $("#download-tautullilog").show();
$("#download-plexserverlog").hide() $("#download-plexserverlog").hide();
$("#download-plexscannerlog").hide() $("#download-plexscannerlog").hide();
$("#clear-notify-logs").hide(); $("#clear-notify-logs").hide();
$("#clear-login-logs").hide(); $("#clear-login-logs").hide();
loadPlexPyLogs('plexpy', selected_log_level); loadtautullilogs('tautulli', selected_log_level);
clearSearchButton('plexpy_log_table', log_table); clearSearchButton('tautulli_log_table', log_table);
}); });
$("#plexpy-api-logs-btn").click(function () { $("#tautulli-api-logs-btn").click(function () {
$("#plexpy-log-levels").show(); $("#tautulli-log-levels").show();
$("#plex-log-levels").hide(); $("#plex-log-levels").hide();
$("#clear-logs").show(); $("#clear-logs").show();
$("#download-plexpylog").show() $("#download-tautullilog").show();
$("#download-plexserverlog").hide() $("#download-plexserverlog").hide();
$("#download-plexscannerlog").hide() $("#download-plexscannerlog").hide();
$("#clear-notify-logs").hide(); $("#clear-notify-logs").hide();
$("#clear-login-logs").hide(); $("#clear-login-logs").hide();
loadPlexPyLogs('plexpy_api', selected_log_level); loadtautullilogs('tautulli_api', selected_log_level);
clearSearchButton('plexpy_api_log_table', log_table); clearSearchButton('tautulli_api_log_table', log_table);
}); });
$("#plexpy-websocket-logs-btn").click(function () { $("#plex-websocket-logs-btn").click(function () {
$("#plexpy-log-levels").show(); $("#tautulli-log-levels").show();
$("#plex-log-levels").hide(); $("#plex-log-levels").hide();
$("#clear-logs").show(); $("#clear-logs").show();
$("#download-plexpylog").show() $("#download-tautullilog").show();
$("#download-plexserverlog").hide() $("#download-plexserverlog").hide();
$("#download-plexscannerlog").hide() $("#download-plexscannerlog").hide();
$("#clear-notify-logs").hide(); $("#clear-notify-logs").hide();
$("#clear-login-logs").hide(); $("#clear-login-logs").hide();
loadPlexPyLogs('plex_websocket', selected_log_level); loadtautullilogs('plex_websocket', selected_log_level);
clearSearchButton('plex_websocket_log_table', log_table); clearSearchButton('plex_websocket_log_table', log_table);
}); });
$("#plex-logs-btn").click(function () { $("#plex-logs-btn").click(function () {
$("#plexpy-log-levels").hide(); $("#tautulli-log-levels").hide();
$("#plex-log-levels").show(); $("#plex-log-levels").show();
$("#clear-logs").hide(); $("#clear-logs").hide();
$("#download-plexpylog").hide() $("#download-tautullilog").hide();
$("#download-plexserverlog").show() $("#download-plexserverlog").show();
$("#download-plexscannerlog").hide() $("#download-plexscannerlog").hide();
$("#clear-notify-logs").hide(); $("#clear-notify-logs").hide();
$("#clear-login-logs").hide(); $("#clear-login-logs").hide();
loadPlexLogs(); loadPlexLogs();
@ -341,12 +341,12 @@
}); });
$("#plex-scanner-logs-btn").click(function () { $("#plex-scanner-logs-btn").click(function () {
$("#plexpy-log-levels").hide(); $("#tautulli-log-levels").hide();
$("#plex-log-levels").show(); $("#plex-log-levels").show();
$("#clear-logs").hide(); $("#clear-logs").hide();
$("#download-plexpylog").hide() $("#download-tautullilog").hide();
$("#download-plexserverlog").hide() $("#download-plexserverlog").hide();
$("#download-plexscannerlog").show() $("#download-plexscannerlog").show();
$("#clear-notify-logs").hide(); $("#clear-notify-logs").hide();
$("#clear-login-logs").hide(); $("#clear-login-logs").hide();
loadPlexScannerLogs(); loadPlexScannerLogs();
@ -354,12 +354,12 @@
}); });
$("#notification-logs-btn").click(function () { $("#notification-logs-btn").click(function () {
$("#plexpy-log-levels").hide(); $("#tautulli-log-levels").hide();
$("#plex-log-levels").hide(); $("#plex-log-levels").hide();
$("#clear-logs").hide(); $("#clear-logs").hide();
$("#download-plexpylog").hide() $("#download-tautullilog").hide();
$("#download-plexserverlog").hide() $("#download-plexserverlog").hide();
$("#download-plexscannerlog").hide() $("#download-plexscannerlog").hide();
$("#clear-notify-logs").show(); $("#clear-notify-logs").show();
$("#clear-login-logs").hide(); $("#clear-login-logs").hide();
loadNotificationLogs(); loadNotificationLogs();
@ -367,12 +367,12 @@
}); });
$("#login-logs-btn").click(function () { $("#login-logs-btn").click(function () {
$("#plexpy-log-levels").hide(); $("#tautulli-log-levels").hide();
$("#plex-log-levels").hide(); $("#plex-log-levels").hide();
$("#clear-logs").hide(); $("#clear-logs").hide();
$("#download-plexpylog").hide() $("#download-tautullilog").hide();
$("#download-plexserverlog").hide() $("#download-plexserverlog").hide();
$("#download-plexscannerlog").hide() $("#download-plexscannerlog").hide();
$("#clear-notify-logs").hide(); $("#clear-notify-logs").hide();
$("#clear-login-logs").show(); $("#clear-login-logs").show();
loadLoginLogs(); loadLoginLogs();
@ -384,8 +384,8 @@
}); });
$("#clear-logs").click(function () { $("#clear-logs").click(function () {
var logfile = $(".tab-pane.active").data('logfile') var logfile = $(".tab-pane.active").data('logfile');
var title = $("#log_tabs li.active a").text() var title = $("#log_tabs li.active a").text();
$("#confirm-message").text("Are you sure you want to clear the " + title + "?"); $("#confirm-message").text("Are you sure you want to clear the " + title + "?");
$('#confirm-modal').modal(); $('#confirm-modal').modal();
@ -397,7 +397,7 @@
complete: function (xhr, status) { complete: function (xhr, status) {
result = $.parseJSON(xhr.responseText); result = $.parseJSON(xhr.responseText);
msg = result.message; msg = result.message;
if (result.result == 'success') { if (result.result === 'success') {
showMsg('<i class="fa fa-check"></i> ' + msg, false, true, 5000) showMsg('<i class="fa fa-check"></i> ' + msg, false, true, 5000)
} else { } else {
showMsg('<i class="fa fa-times"></i> ' + msg, false, true, 5000, true) showMsg('<i class="fa fa-times"></i> ' + msg, false, true, 5000, true)
@ -408,7 +408,7 @@
}); });
}); });
$("#download-plexpylog").click(function () { $("#download-tautullilog").click(function () {
var logfile = $(".tab-pane.active").data('logfile'); var logfile = $(".tab-pane.active").data('logfile');
window.location.href = "download_log?logfile=" + logfile; window.location.href = "download_log?logfile=" + logfile;
}); });
@ -431,7 +431,7 @@
complete: function (xhr, status) { complete: function (xhr, status) {
result = $.parseJSON(xhr.responseText); result = $.parseJSON(xhr.responseText);
msg = result.message; msg = result.message;
if (result.result == 'success') { if (result.result === 'success') {
showMsg('<i class="fa fa-check"></i> ' + msg, false, true, 5000) showMsg('<i class="fa fa-check"></i> ' + msg, false, true, 5000)
} else { } else {
showMsg('<i class="fa fa-times"></i> ' + msg, false, true, 5000, true) showMsg('<i class="fa fa-times"></i> ' + msg, false, true, 5000, true)
@ -452,7 +452,7 @@
complete: function (xhr, status) { complete: function (xhr, status) {
result = $.parseJSON(xhr.responseText); result = $.parseJSON(xhr.responseText);
msg = result.message; msg = result.message;
if (result.result == 'success') { if (result.result === 'success') {
showMsg('<i class="fa fa-check"></i> ' + msg, false, true, 5000) showMsg('<i class="fa fa-check"></i> ' + msg, false, true, 5000)
} else { } else {
showMsg('<i class="fa fa-times"></i> ' + msg, false, true, 5000, true) showMsg('<i class="fa fa-times"></i> ' + msg, false, true, 5000, true)
@ -473,10 +473,10 @@
{ {
clearInterval(timer); clearInterval(timer);
} }
if(refreshrate.value != 0) if(refreshrate.value !== 0)
{ {
timer = setInterval(function() { timer = setInterval(function() {
if ($("#tabs-plexpy_log").hasClass("active") || $("#tabs-plexpy_api_log").hasClass("active") || $("#tabs-plex_websocket_log").hasClass("active")) { if ($("#tabs-tautulli_log").hasClass("active") || $("#tabs-tautulli_api_log").hasClass("active") || $("#tabs-plex_websocket_log").hasClass("active")) {
log_table.ajax.reload(); log_table.ajax.reload();
} else if ($("#tabs-plex_log").hasClass("active")) { } else if ($("#tabs-plex_log").hasClass("active")) {
plex_log_table.ajax.reload(); plex_log_table.ajax.reload();

View file

@ -167,8 +167,8 @@ class API2:
""" """
logfile = os.path.join(plexpy.CONFIG.LOG_DIR, logger.FILENAME) logfile = os.path.join(plexpy.CONFIG.LOG_DIR, logger.FILENAME)
templog = [] templog = []
start = int(kwargs.get('start', 0)) start = int(start)
end = int(kwargs.get('end', 0)) end = int(end)
if regex: if regex:
logger.api_debug(u'Tautulli APIv2 :: Filtering log using regex %s' % regex) logger.api_debug(u'Tautulli APIv2 :: Filtering log using regex %s' % regex)

View file

@ -30,8 +30,8 @@ import plexpy
import helpers import helpers
# These settings are for file logging only # These settings are for file logging only
FILENAME = "plexpy.log" FILENAME = "tautulli.log"
FILENAME_API = "plexpy_api.log" FILENAME_API = "tautulli_api.log"
FILENAME_PLEX_WEBSOCKET = "plex_websocket.log" FILENAME_PLEX_WEBSOCKET = "plex_websocket.log"
MAX_SIZE = 5000000 # 5 MB MAX_SIZE = 5000000 # 5 MB
MAX_FILES = 5 MAX_FILES = 5
@ -39,9 +39,9 @@ MAX_FILES = 5
_BLACKLIST_WORDS = set() _BLACKLIST_WORDS = set()
# Tautulli logger # Tautulli logger
logger = logging.getLogger("plexpy") logger = logging.getLogger("tautulli")
# Tautulli API logger # Tautulli API logger
logger_api = logging.getLogger("plexpy_api") logger_api = logging.getLogger("tautulli_api")
# Tautulli websocket logger # Tautulli websocket logger
logger_plex_websocket = logging.getLogger("plex_websocket") logger_plex_websocket = logging.getLogger("plex_websocket")

View file

@ -2293,7 +2293,7 @@ class WebInterface(object):
filtered = [] filtered = []
fa = filt.append fa = filt.append
if logfile == "plexpy_api": if logfile == "tautulli_api":
filename = logger.FILENAME_API filename = logger.FILENAME_API
elif logfile == "plex_websocket": elif logfile == "plex_websocket":
filename = logger.FILENAME_PLEX_WEBSOCKET filename = logger.FILENAME_PLEX_WEBSOCKET
@ -2496,7 +2496,7 @@ class WebInterface(object):
@cherrypy.tools.json_out() @cherrypy.tools.json_out()
@requireAuth(member_of("admin")) @requireAuth(member_of("admin"))
def delete_logs(self, logfile='', **kwargs): def delete_logs(self, logfile='', **kwargs):
if logfile == "plexpy_api": if logfile == "tautulli_api":
filename = logger.FILENAME_API filename = logger.FILENAME_API
elif logfile == "plex_websocket": elif logfile == "plex_websocket":
filename = logger.FILENAME_PLEX_WEBSOCKET filename = logger.FILENAME_PLEX_WEBSOCKET
@ -2538,7 +2538,7 @@ class WebInterface(object):
@cherrypy.expose @cherrypy.expose
@requireAuth(member_of("admin")) @requireAuth(member_of("admin"))
def logFile(self, logfile='', **kwargs): def logFile(self, logfile='', **kwargs):
if logfile == "plexpy_api": if logfile == "tautulli_api":
filename = logger.FILENAME_API filename = logger.FILENAME_API
elif logfile == "plex_websocket": elif logfile == "plex_websocket":
filename = logger.FILENAME_PLEX_WEBSOCKET filename = logger.FILENAME_PLEX_WEBSOCKET
@ -3912,7 +3912,7 @@ class WebInterface(object):
@addtoapi() @addtoapi()
def download_log(self, logfile='', **kwargs): def download_log(self, logfile='', **kwargs):
""" Download the Tautulli log file. """ """ Download the Tautulli log file. """
if logfile == "plexpy_api": if logfile == "tautulli_api":
filename = logger.FILENAME_API filename = logger.FILENAME_API
log = logger.logger_api log = logger.logger_api
elif logfile == "plex_websocket": elif logfile == "plex_websocket":