%# BEGIN BPS TAGGED BLOCK {{{
%#
%# COPYRIGHT:
%#
%# This software is Copyright (c) 1996-2026 Best Practical Solutions, LLC
%#                                          <sales@bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
%#
%#
%# LICENSE:
%#
%# This work is made available to you under the terms of Version 2 of
%# the GNU General Public License. A copy of that license should have
%# been provided with this software, but in any event can be snarfed
%# from www.gnu.org.
%#
%# This work is distributed in the hope that it will be useful, but
%# WITHOUT ANY WARRANTY; without even the implied warranty of
%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
%# General Public License for more details.
%#
%# You should have received a copy of the GNU General Public License
%# along with this program; if not, write to the Free Software
%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
%# 02110-1301 or visit their web page on the internet at
%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
%#
%#
%# CONTRIBUTION SUBMISSION POLICY:
%#
%# (The following paragraph is not intended to limit the rights granted
%# to you to modify and distribute this software under the terms of
%# the GNU General Public License and is only of importance to you if
%# you choose to contribute your changes and enhancements to the
%# community by submitting them to Best Practical Solutions, LLC.)
%#
%# By intentionally submitting any modifications, corrections or
%# derivatives to this work, or any other work intended for use with
%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
%# you are the copyright holder for those contributions and you grant
%# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
%# royalty-free, perpetual, license to use, copy, create derivative
%# works based on those contributions, and sublicense and distribute
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
<%init>
my @summary;

if (my $level = RT->Config->Get("LogToSTDERR")) {
    push @summary, loc("Logging [_1] level messages and higher to STDERR, which will usually end up in your webserver's error logs.", $level);
}

if (my $level  = RT->Config->Get("LogToFile") and
    my $logger = RT->Logger->output("file")) {
    # Using the Log::Dispatch::File object let's us avoid duplicating
    # filename logic from RT::InitLogging()
    push @summary, loc("Logging [_1] level messages and higher to [_2]", $level, $logger->{filename});
}

if (my $level = RT->Config->Get("LogToSyslog")) {
    my %conf = RT->Config->Get("LogToSyslogConf");
    my $conf = join ", ", map { "$_=$conf{$_}" } keys %conf;
    if ($conf) {
        push @summary, loc("Logging [_1] level messages and higher to syslog with the following configuration: [_2]", $level, $conf);
    } else {
        push @summary, loc("Logging [_1] level messages and higher to syslog.", $level);
    }
}

if (my $level = RT->Config->Get("LogStackTraces")) {
    push @summary, loc("Stack traces are added to message levels [_1] and higher.", $level);
} else {
    push @summary, loc("Stack traces are not logged.");
}

if (my $level = RT->Config->Get("StatementLog")) {
    my $url = RT->Config->Get("WebPath") . "/Admin/Tools/Queries.html";
    push @summary, \loc("SQL queries are logged at the [_1] level and also available in the [_2]query tool[_3].", $m->interp->apply_escapes($level, 'h'), qq[<strong><a href="$url">], '</a></strong>');
} else {
    push @summary, loc("SQL queries are not logged.");
}
</%init>
<p>
<&|/l&>RT's logging configuration is summarized below:</&>
<ul class="list-group-compact list-group">
% for my $msg (@summary) {
  <li class="list-group-item"><% ref($msg) ? $$msg : $m->interp->apply_escapes($msg, 'h') |n %></li>
% }
</ul>
</p>
