From 5fe438739136c1028fb798bad68966579ce7eba8 Mon Sep 17 00:00:00 2001 From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Date: Thu, 16 Apr 2020 17:16:59 +0200 Subject: [PATCH] Bug 25172: Identify and display possible problems on the about page Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> --- about.pl | 20 +++++++++++++++++++ .../intranet-tmpl/prog/en/modules/about.tt | 15 +++++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/about.pl b/about.pl index dc25550fd2..fc8dcec21c 100755 --- a/about.pl +++ b/about.pl @@ -25,6 +25,7 @@ use Modern::Perl; use CGI qw ( -utf8 ); use DateTime::TimeZone; use File::Spec; +use File::Slurp; use List::MoreUtils qw/ any /; use LWP::Simple; use Module::Load::Conditional qw(can_load); @@ -48,6 +49,7 @@ use Koha::Caches; use Koha::Config::SysPrefs; use Koha::Illrequest::Config; use Koha::SearchEngine::Elasticsearch; +use Koha::Logger; use C4::Members::Statistics; @@ -93,6 +95,24 @@ my $time_zone = { environment_invalid => $env_invalid }; +{ # Logger checks + my $log4perl_config = C4::Context->config("log4perl_conf"); + my @log4perl_errors; + if ( ! $log4perl_config ) { + push @log4perl_errors, 'missing_config_entry' + } + else { + my @lines = read_file($log4perl_config) or push @log4perl_errors, 'cannot_read_config_file'; + for my $line ( @lines ) { + next unless $line =~ m|log4perl.appender.\w+.filename=(.*)|; + push @log4perl_errors, 'logfile_not_writable' unless -w $1; + } + } + eval {Koha::Logger->get}; + push @log4perl_errors, 'cannot_init_module' and warn $@ if $@; + $template->param( log4perl_errors => @log4perl_errors ); +} + $template->param( time_zone => $time_zone, current_date_and_time => output_pref({ dt => dt_from_string(), dateformat => 'iso' }) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/about.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/about.tt index d8f0dfa01b..d89910bac1 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/about.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/about.tt @@ -184,7 +184,7 @@ </div> <div id="sysinfo"> - [% IF warnPrefBiblioAddsAuthorities || warnPrefEasyAnalyticalRecords || warnPrefAnonymousPatronOPACPrivacy || warnPrefAnonymousPatronAnonSuggestions || warnPrefAnonymousPatronOPACPrivacy_PatronDoesNotExist || warnPrefAnonymousPatronAnonSuggestions_PatronDoesNotExist || warnNoActiveCurrency || warnIsRootUser || xml_config_warnings.size || AutoSelfCheckPatronDoesNotHaveSelfCheckPerm || AutoSelfCheckPatronHasTooManyPerm || warnStatisticsFieldsError || warnNoTemplateCaching || warnILLConfiguration || has_ai_issues || oauth2_missing_deps || bad_yaml_prefs || warnRelationships %] + [% IF warnPrefBiblioAddsAuthorities || warnPrefEasyAnalyticalRecords || warnPrefAnonymousPatronOPACPrivacy || warnPrefAnonymousPatronAnonSuggestions || warnPrefAnonymousPatronOPACPrivacy_PatronDoesNotExist || warnPrefAnonymousPatronAnonSuggestions_PatronDoesNotExist || warnNoActiveCurrency || warnIsRootUser || xml_config_warnings.size || AutoSelfCheckPatronDoesNotHaveSelfCheckPerm || AutoSelfCheckPatronHasTooManyPerm || warnStatisticsFieldsError || warnNoTemplateCaching || warnILLConfiguration || has_ai_issues || oauth2_missing_deps || bad_yaml_prefs || warnRelationships || log4perl_errors %] [% IF (warnIsRootUser) %] <h2>Warning regarding current user</h2> <p>You are logged in as the database administrative user. This is not recommended because some parts of Koha will not function as expected when using this account.</p> @@ -246,6 +246,19 @@ [% END %] [% END %] + [% IF log4perl_errors %] + <h2>Logging system does not behave correctly</h2> + [% FOR e IN log4perl_errors %] + [% SWITCH e %] + [% CASE 'missing_config_entry' %]There is no 'log4perl_conf' entry in the config file. + [% CASE 'cannot_read_config_file' %]The log4perl config file cannot be opened. + [% CASE 'logfile_not_writable' %]One of the logfiles listed in the config file is not writable. + [% CASE 'cannot_init_module' %]The Koha::Logger module cannot be initiated correctly (check the log file). + [% CASE %]Unknown error "[% e %]" + [% END %] + [% END %] + [% END %] + [% IF warnPrefBiblioAddsAuthorities || warnPrefEasyAnalyticalRecords || warnPrefAnonymousPatronOPACPrivacy || warnPrefAnonymousPatronAnonSuggestions || warnPrefAnonymousPatronOPACPrivacy_PatronDoesNotExist || warnPrefAnonymousPatronAnonSuggestions_PatronDoesNotExist || warnNoActiveCurrency || AutoSelfCheckPatronDoesNotHaveSelfCheckPerm || AutoSelfCheckPatronHasTooManyPerm || warnStatisticsFieldsError || warnNoTemplateCaching || warnILLConfiguration || oauth2_missing_deps || bad_yaml_prefs || warnIssuingRules %] <h2>Warnings regarding the system configuration</h2> <table> -- 2.20.1