{% extends 'base.html' %} {% block css %} {{ block.super }} {% endblock %} {% block content %}

Production Logs

Real-time log monitoring from {{ log_file_path }}

{% if show_all %} Viewing all {{ total_entries }} entries {% else %} Showing {{ entries|length }}/{{ total_entries }} entries {% endif %} Raw file
{% if action_message %}
{{ action_message }}
{% endif %}
Date Range
Time Range
{% if search_query or level_filter %} Clear {% endif %}
{% if show_all %} Show recent only {% else %} View all logs {% endif %}
{% csrf_token %}
{% if entries %}
{% for entry in entries %}
{% if entry.level == 'ERROR' or entry.level == 'CRITICAL' %} {{ entry.level }} {% elif entry.level == 'WARNING' or entry.level == 'WARN' %} {{ entry.level }} {% elif entry.level == 'DEBUG' %} {{ entry.level }} {% elif entry.level == 'INFO' %} {{ entry.level }} {% else %} {{ entry.level|default:'LOG' }} {% endif %} {% if entry.timestamp %} {{ entry.timestamp }} {% endif %} {% if entry.logger %} {{ entry.logger }}{% if entry.source_line %}:{{ entry.source_line }}{% endif %} {% endif %}
{{ entry.message }}
{% if entry.details %}
Traceback / Details ({{ entry.details|length }} lines)
{% for detail_line in entry.details %}
{{ detail_line }}
{% endfor %}
{% endif %}
{% endfor %}
{% if show_all %} Displaying all {{ total_entries }} log entries (newest first). {% else %} Displaying most recent 500 entries (newest first). {% if total_entries > 500 %} View all {{ total_entries }} entries. {% endif %} {% endif %} {% if search_query %} Search found {{ entries|length }} matching entr{{ entries|length|pluralize:"y,ies" }}. {% endif %} {% if noise_suppressed and not include_noise %} Hidden {{ noise_suppressed }} noisy template debug entr{{ noise_suppressed|pluralize:"y,ies" }}. Show them. {% endif %}
{% else %}
No log entries found. {% if search_query %} Try a different search term. {% else %} The log file may be empty or not yet created. {% endif %}
{% endif %}
{% endblock %}