From 48b0b281c26b9bce91ef1623b71ac9662ab719ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Natal=20Ng=C3=A9tal?= Date: Tue, 11 Jan 2011 15:27:44 +0100 Subject: [PATCH 1/3] [Logger] File.pm #170: Allow alternate path, implement Mike Schroeder's idea http://lists.perldancer.org/pipermail/dancer-users/2010-October/000454.html --- lib/Dancer/Logger/File.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/Dancer/Logger/File.pm b/lib/Dancer/Logger/File.pm index 880293f57..437b65c02 100644 --- a/lib/Dancer/Logger/File.pm +++ b/lib/Dancer/Logger/File.pm @@ -11,8 +11,9 @@ use IO::File; sub logdir { my $appdir = setting('appdir'); + my $altpath = setting('log_path'); my $logroot = $appdir || File::Spec->tmpdir(); - return path($logroot, 'logs'); + return ($altpath ? $altpath : path($logroot, 'logs')); } sub init { From b5e4cdbf37a8948853b7883cdc5598d9c20f804c Mon Sep 17 00:00:00 2001 From: Alexis Sukrieh Date: Sat, 5 Feb 2011 12:22:36 +0100 Subject: [PATCH 2/3] merge test for logger file --- lib/Dancer/Logger/File.pm | 4 +++- t/11_logger/03_file.t | 12 ++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/lib/Dancer/Logger/File.pm b/lib/Dancer/Logger/File.pm index 437b65c02..eb0220bd7 100644 --- a/lib/Dancer/Logger/File.pm +++ b/lib/Dancer/Logger/File.pm @@ -73,7 +73,9 @@ file. =head2 logdir Returns the log directory, decided by "logs" either in "appdir" setting or in a -temp directory. +temp directory. It's also possible to specify a logs directory with the log_path option. + + setting log_path => $dir; =head2 _log diff --git a/t/11_logger/03_file.t b/t/11_logger/03_file.t index 6fd67d68c..a548e6d9c 100644 --- a/t/11_logger/03_file.t +++ b/t/11_logger/03_file.t @@ -1,4 +1,4 @@ -use Test::More tests => 9, import => ['!pass']; +use Test::More tests => 13, import => ['!pass']; use strict; use warnings; @@ -27,5 +27,13 @@ ok($l->debug("Perl Dancer test message 2/4"), "debug works"); ok($l->warning("Perl Dancer test message 3/4"), "warning works"); ok($l->error("Perl Dancer test message 4/4"), "error works"); +#Create a new tmp directory to test log_path option +my $dir2 = tempdir(CLEANUP => 1); +setting log_path => $dir2; + +ok($l->_log(debug => "Perl Dancer test message with log_path setting"), "_log works"); +ok($l->debug("Perl Dancer test message with log_path setting 2/4"), "debug works"); +ok($l->warning("Perl Dancer test message with log_path setting 3/4"), "warning works"); +ok($l->error("Perl Dancer test message with log_path setting 4/4"), "error works"); + $l->{fh}->close; -File::Temp::cleanup(); From 516d89feddf2a39064c3171f759b9d464c0b573b Mon Sep 17 00:00:00 2001 From: Alexis Sukrieh Date: Sat, 5 Feb 2011 12:23:57 +0100 Subject: [PATCH 3/3] make sure alternate logdir is used --- t/11_logger/03_file.t | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/t/11_logger/03_file.t b/t/11_logger/03_file.t index a548e6d9c..aca93e548 100644 --- a/t/11_logger/03_file.t +++ b/t/11_logger/03_file.t @@ -1,4 +1,4 @@ -use Test::More tests => 13, import => ['!pass']; +use Test::More tests => 14, import => ['!pass']; use strict; use warnings; @@ -31,6 +31,9 @@ ok($l->error("Perl Dancer test message 4/4"), "error works"); my $dir2 = tempdir(CLEANUP => 1); setting log_path => $dir2; +is(Dancer::Logger::File->logdir, $dir2, + "logir is ok"); + ok($l->_log(debug => "Perl Dancer test message with log_path setting"), "_log works"); ok($l->debug("Perl Dancer test message with log_path setting 2/4"), "debug works"); ok($l->warning("Perl Dancer test message with log_path setting 3/4"), "warning works");