As a quick workaround, if your read-only filesystem (and your OS too!) supports linking you could make 'logs' point to the directory you really want to use for logs. 99% of chances that you had a good reason not to do that, but sometimes it's difficult to see the wood if one is concentrating on the trees. Personally, I would rewrite your sub as follows: sub logdir { my $altpath = setting('log_path'); return $altpath if $altpath; my $appdir = setting('appdir'); my $logroot = $appdir || File::Spec->tmpdir(); return path($logroot, 'logs'); } I see no reason to possibly create a temporary directory if you don't really need to. Cheers, Flavio. On Wed, Oct 27, 2010 at 8:11 PM, Mike Schroeder <mike@donor.com> wrote:
Currently the logdir() method in Dancer::Logger::File looks like:
sub logdir { my $appdir = setting('appdir'); my $logroot = $appdir || File::Spec->tmpdir(); return path($logroot, 'logs'); }
However, our production environments all mount off read-only filesystems, so having logging dependant on appdir won't work. I can write a new logger module that does something like:
sub logdir { my $appdir = setting('appdir'); my $altpath = setting('log_path'); my $logroot = $appdir || File::Spec->tmpdir(); return ( $altpath ? $altpath : path($logroot, 'logs') ); }
Is that something that is worth going into the core? I'm fine either way, but I thought this might be useful to others in the future.
Thanks.
Mike.
_______________________________________________ Dancer-users mailing list Dancer-users@perldancer.org http://www.backup-manager.org/cgi-bin/listinfo/dancer-users