https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=16357
--- Comment #41 from Liz Rea <[email protected]> --- Ok, I've made this work again, and I followed my previous notes to get there with the addition of one detail by default, the log perms look like this: vagrant@kohadevbox:kohadev$ ls -lah total 688K drwxr-xr-x 2 kohadev-koha kohadev-koha 4.0K Aug 30 14:50 . drwxr-xr-x 3 root root 4.0K Aug 30 14:47 .. -rw-r--r-- 1 kohadev-koha kohadev-koha 25K Aug 30 18:36 indexer-error.log -rw-r--r-- 1 kohadev-koha kohadev-koha 0 Aug 30 14:47 indexer-output.log -rw-r--r-- 1 root root 0 Aug 30 14:47 intranet-error.log -rw-r--r-- 1 root root 105K Aug 30 14:49 opac-error.log -rw-r--r-- 1 kohadev-koha kohadev-koha 524K Aug 30 18:36 plack-error.log -rw-r--r-- 1 kohadev-koha kohadev-koha 6.8K Aug 30 18:36 plack.log -rw-r--r-- 1 kohadev-koha kohadev-koha 773 Aug 30 18:36 zebra-error.log -rw-r--r-- 1 kohadev-koha kohadev-koha 399 Aug 30 18:36 zebra-output.log If you apply this patch, and restart plack and try for an error: "Log4perl: Seems like no initialization happened. Forgot to call init()?" Ok that's not great. So look at Koha::Logger - in 119 sub _init { 120 my $rv; 121 if ( exists $ENV{"LOG4PERL_CONF"} and $ENV{'LOG4PERL_CONF'} and -s $ENV{"LOG4PERL_CONF"} ) { 122 123 # Check for web server level configuration first 124 # In this case we ASSUME that you correctly arranged logfile 125 # permissions. If not, log4perl will crash on you. 126 # We will not parse apache files here. 127 Log::Log4perl->init_once( $ENV{"LOG4PERL_CONF"} ); 128 } 129 elsif ( C4::Context->config("log4perl_conf") ) { 130 131 # Now look in the koha conf file. We only check the permissions of 132 # the default logfiles. For the rest, we again ASSUME that 133 # you arranged file permissions. 134 my $conf = C4::Context->config("log4perl_conf"); 135 if ( $rv = _check_conf($conf) ) { 136 Log::Log4perl->init_once($conf); 137 return $rv; 138 } 139 else { 140 return 0; 141 } 142 } 143 else { 144 # This means that you do not use log4perl currently. 145 # We will not be forcing it. 146 return 0; 147 } 148 warn "Log4Perl did not crash"; 149 150 return 1; # if we make it here, log4perl did not crash :) 151 } I didn't have any environment variables set in my devbox, so we're looking at the path from koha-conf.xml. So we assume "you arranged the file permissions" and something about this doesn't sit right with me, and probably explains what is happening here. Anyway, with this patch installed the default way I've done for testing, apparently _check_conf fails - probably bc koha-kohadev can't write the apache initialized logs. With the permissions set for owner koha-kohadev:koha-kohadev, the patch works. When the log files are initialized, there are some that are set by Apache (opac-access/error, intranet-access/error) and plack, which is initialized by Koha. The plack one is owned by the instance, the apache ones are owned by root. Logrotate will set these permissions back at rotate time. Does somebody out there know more than me about logrotate and apache, to help get these permissions doing the right thing? This patch is really necessary (splitting is nice and stuff, but timestamps alone would be super ace). -- You are receiving this mail because: You are watching all bug changes. _______________________________________________ Koha-bugs mailing list [email protected] https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-bugs website : http://www.koha-community.org/ git : http://git.koha-community.org/ bugs : http://bugs.koha-community.org/
