mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-14 01:41:22 -06:00
* Changed LogLevelChoices order; Changed ScriptResultView to select LogLevelChoices to LOG_DEFAULT and setup the html template to put (All) in the last one * Change LogLevelChoices in ScriptResultView get_table method * Remove default option, add Default string to INFO * Fix scripts.py and reports.py to reflect removing DEFAULT level * fix linting
This commit is contained in:
parent
8e91db0394
commit
efa939d0c2
@ -155,7 +155,6 @@ class JournalEntryKindChoices(ChoiceSet):
|
|||||||
class LogLevelChoices(ChoiceSet):
|
class LogLevelChoices(ChoiceSet):
|
||||||
|
|
||||||
LOG_DEBUG = 'debug'
|
LOG_DEBUG = 'debug'
|
||||||
LOG_DEFAULT = 'default'
|
|
||||||
LOG_INFO = 'info'
|
LOG_INFO = 'info'
|
||||||
LOG_SUCCESS = 'success'
|
LOG_SUCCESS = 'success'
|
||||||
LOG_WARNING = 'warning'
|
LOG_WARNING = 'warning'
|
||||||
@ -163,16 +162,15 @@ class LogLevelChoices(ChoiceSet):
|
|||||||
|
|
||||||
CHOICES = (
|
CHOICES = (
|
||||||
(LOG_DEBUG, _('Debug'), 'teal'),
|
(LOG_DEBUG, _('Debug'), 'teal'),
|
||||||
(LOG_DEFAULT, _('Default'), 'gray'),
|
|
||||||
(LOG_INFO, _('Info'), 'cyan'),
|
(LOG_INFO, _('Info'), 'cyan'),
|
||||||
(LOG_SUCCESS, _('Success'), 'green'),
|
(LOG_SUCCESS, _('Success'), 'green'),
|
||||||
(LOG_WARNING, _('Warning'), 'yellow'),
|
(LOG_WARNING, _('Warning'), 'yellow'),
|
||||||
(LOG_FAILURE, _('Failure'), 'red'),
|
(LOG_FAILURE, _('Failure'), 'red'),
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
SYSTEM_LEVELS = {
|
SYSTEM_LEVELS = {
|
||||||
LOG_DEBUG: logging.DEBUG,
|
LOG_DEBUG: logging.DEBUG,
|
||||||
LOG_DEFAULT: logging.INFO,
|
|
||||||
LOG_INFO: logging.INFO,
|
LOG_INFO: logging.INFO,
|
||||||
LOG_SUCCESS: logging.INFO,
|
LOG_SUCCESS: logging.INFO,
|
||||||
LOG_WARNING: logging.WARNING,
|
LOG_WARNING: logging.WARNING,
|
||||||
|
@ -138,9 +138,8 @@ DEFAULT_DASHBOARD = [
|
|||||||
|
|
||||||
LOG_LEVEL_RANK = {
|
LOG_LEVEL_RANK = {
|
||||||
LogLevelChoices.LOG_DEBUG: 0,
|
LogLevelChoices.LOG_DEBUG: 0,
|
||||||
LogLevelChoices.LOG_DEFAULT: 1,
|
LogLevelChoices.LOG_INFO: 1,
|
||||||
LogLevelChoices.LOG_INFO: 2,
|
LogLevelChoices.LOG_SUCCESS: 2,
|
||||||
LogLevelChoices.LOG_SUCCESS: 3,
|
LogLevelChoices.LOG_WARNING: 3,
|
||||||
LogLevelChoices.LOG_WARNING: 4,
|
LogLevelChoices.LOG_FAILURE: 4,
|
||||||
LogLevelChoices.LOG_FAILURE: 5,
|
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ class Report(BaseScript):
|
|||||||
|
|
||||||
# There is no generic log() equivalent on BaseScript
|
# There is no generic log() equivalent on BaseScript
|
||||||
def log(self, message):
|
def log(self, message):
|
||||||
self._log(message, None, level=LogLevelChoices.LOG_DEFAULT)
|
self._log(message, None, level=LogLevelChoices.LOG_INFO)
|
||||||
|
|
||||||
def log_success(self, obj=None, message=None):
|
def log_success(self, obj=None, message=None):
|
||||||
super().log_success(message, obj)
|
super().log_success(message, obj)
|
||||||
|
@ -460,7 +460,7 @@ class BaseScript:
|
|||||||
# Logging
|
# Logging
|
||||||
#
|
#
|
||||||
|
|
||||||
def _log(self, message, obj=None, level=LogLevelChoices.LOG_DEFAULT):
|
def _log(self, message, obj=None, level=LogLevelChoices.LOG_INFO):
|
||||||
"""
|
"""
|
||||||
Log a message. Do not call this method directly; use one of the log_* wrappers below.
|
Log a message. Do not call this method directly; use one of the log_* wrappers below.
|
||||||
"""
|
"""
|
||||||
|
@ -1315,9 +1315,9 @@ class ScriptResultView(TableMixin, generic.ObjectView):
|
|||||||
index = 0
|
index = 0
|
||||||
|
|
||||||
try:
|
try:
|
||||||
log_threshold = LOG_LEVEL_RANK[request.GET.get('log_threshold', LogLevelChoices.LOG_DEBUG)]
|
log_threshold = LOG_LEVEL_RANK[request.GET.get('log_threshold', LogLevelChoices.LOG_INFO)]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
log_threshold = LOG_LEVEL_RANK[LogLevelChoices.LOG_DEBUG]
|
log_threshold = LOG_LEVEL_RANK[LogLevelChoices.LOG_INFO]
|
||||||
if job.data:
|
if job.data:
|
||||||
|
|
||||||
if 'log' in job.data:
|
if 'log' in job.data:
|
||||||
@ -1325,7 +1325,7 @@ class ScriptResultView(TableMixin, generic.ObjectView):
|
|||||||
tests = job.data['tests']
|
tests = job.data['tests']
|
||||||
|
|
||||||
for log in job.data['log']:
|
for log in job.data['log']:
|
||||||
log_level = LOG_LEVEL_RANK.get(log.get('status'), LogLevelChoices.LOG_DEFAULT)
|
log_level = LOG_LEVEL_RANK.get(log.get('status'), LogLevelChoices.LOG_INFO)
|
||||||
if log_level >= log_threshold:
|
if log_level >= log_threshold:
|
||||||
index += 1
|
index += 1
|
||||||
result = {
|
result = {
|
||||||
@ -1348,7 +1348,7 @@ class ScriptResultView(TableMixin, generic.ObjectView):
|
|||||||
for method, test_data in tests.items():
|
for method, test_data in tests.items():
|
||||||
if 'log' in test_data:
|
if 'log' in test_data:
|
||||||
for time, status, obj, url, message in test_data['log']:
|
for time, status, obj, url, message in test_data['log']:
|
||||||
log_level = LOG_LEVEL_RANK.get(status, LogLevelChoices.LOG_DEFAULT)
|
log_level = LOG_LEVEL_RANK.get(status, LogLevelChoices.LOG_INFO)
|
||||||
if log_level >= log_threshold:
|
if log_level >= log_threshold:
|
||||||
index += 1
|
index += 1
|
||||||
result = {
|
result = {
|
||||||
@ -1374,9 +1374,9 @@ class ScriptResultView(TableMixin, generic.ObjectView):
|
|||||||
if job.completed:
|
if job.completed:
|
||||||
table = self.get_table(job, request, bulk_actions=False)
|
table = self.get_table(job, request, bulk_actions=False)
|
||||||
|
|
||||||
log_threshold = request.GET.get('log_threshold', LogLevelChoices.LOG_DEBUG)
|
log_threshold = request.GET.get('log_threshold', LogLevelChoices.LOG_INFO)
|
||||||
if log_threshold not in LOG_LEVEL_RANK:
|
if log_threshold not in LOG_LEVEL_RANK:
|
||||||
log_threshold = LogLevelChoices.LOG_DEBUG
|
log_threshold = LogLevelChoices.LOG_INFO
|
||||||
|
|
||||||
context = {
|
context = {
|
||||||
'script': job.object,
|
'script': job.object,
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
<div class="dropdown-menu">
|
<div class="dropdown-menu">
|
||||||
{% for level, name in log_levels.items %}
|
{% for level, name in log_levels.items %}
|
||||||
<a class="dropdown-item d-flex justify-content-between" href="{% url 'extras:script_result' job_pk=job.pk %}?log_threshold={{ level }}">
|
<a class="dropdown-item d-flex justify-content-between" href="{% url 'extras:script_result' job_pk=job.pk %}?log_threshold={{ level }}">
|
||||||
{{ name }}{% if forloop.first %} ({% trans "All" %}){% endif %}
|
{{ name }}{% if forloop.counter == 1 %} ({% trans "All" %}){% elif forloop.counter == 2 %} ({% trans "Default" %}){% endif %}
|
||||||
{% if level == log_threshold %}<span class="badge bg-green ms-auto"></span>{% endif %}
|
{% if level == log_threshold %}<span class="badge bg-green ms-auto"></span>{% endif %}
|
||||||
</a>
|
</a>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
Loading…
Reference in New Issue
Block a user