Compare commits

...

No commits in common. "master" and "pristine-tar" have entirely different histories.

28 changed files with 1 additions and 1171 deletions

52
Changes
View File

@ -1,52 +0,0 @@
HISTORY
0.99 Original version; created by h2xs 1.22 with options
-A
-C
-X
-b5.6.1
-nLog::Dispatch::File::Rolling
--skip-exporter
-v0.99
1.00 Initial coding
1.01 Someone once said "Never feed them after midnight!"---Ok, let's
append: "Never submit any code after midnight..."
Now it is working, I also included 4 tests.
1.02 No code change, just updated Makefile.PL to include correct
author information and prerequisites.
1.03 Changed the syntax of the '$' format character because I noticed
some problems while making Log::Dispatch::File::Alerts. You need
to change your configuration!
1.04 Got a bug report where the file handle got closed in
mid-execution somehow. Added a additional check to re-open it
instead of writing to a closed handle.
1.05 Updated packaging for newer standards. No changes to the coding.
1.06 Fixed a subtle bug that prevented us from locking the logfile
after a fork if no PID was used in the filename.
Also disabled forced double opening of the logfile at startup.
It was in place because I didn't trust Log::Dispatch::File to
really open the file at the right moment.
Thanks to Peter Lobsinger for the patch. Please always wrap
non-standard Test::* modules in eval and make your testfile
clean up after itself... ;)
1.07 Fixed rt.cpan.org bug #89001. Seems Log::Dispatch::File changed
its initialization procedure---and we are inheriting from it.
1.08 Fixed dependency on Log::Dispatch::File. The change in 1.07 only
works with 2.37 or later. For older versions of
Log::Dispatch::File use 1.06.
1.09 Dependency change of 1.08 was missing from the Makefile.PL.
Oops.

View File

@ -1,16 +0,0 @@
Makefile.PL
MANIFEST
README
Changes
lib/Log/Dispatch/File/Rolling.pm
t/1.t
t/2.t
t/3.t
t/4.t
t/5.t
t/6.t
META.yml
t/7testpod.t
t/8coverage.t
t/9reopenfh.t
META.json Module JSON meta-data (added by MakeMaker)

View File

@ -1,42 +0,0 @@
{
"abstract" : "Object for logging to date/time/pid stamped files",
"author" : [
"M. Jacob <jacob@j-e-b.net>"
],
"dynamic_config" : 1,
"generated_by" : "ExtUtils::MakeMaker version 6.86, CPAN::Meta::Converter version 2.120351",
"license" : [
"perl_5"
],
"meta-spec" : {
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
"version" : "2"
},
"name" : "Log-Dispatch-File-Rolling",
"no_index" : {
"directory" : [
"t",
"inc"
]
},
"prereqs" : {
"build" : {
"requires" : {
"ExtUtils::MakeMaker" : "0"
}
},
"configure" : {
"requires" : {
"ExtUtils::MakeMaker" : "0"
}
},
"runtime" : {
"requires" : {
"Log::Dispatch" : "2.37",
"Log::Log4perl" : "0.32"
}
}
},
"release_status" : "stable",
"version" : "1.09"
}

View File

@ -1,23 +0,0 @@
---
abstract: 'Object for logging to date/time/pid stamped files'
author:
- 'M. Jacob <jacob@j-e-b.net>'
build_requires:
ExtUtils::MakeMaker: 0
configure_requires:
ExtUtils::MakeMaker: 0
dynamic_config: 1
generated_by: 'ExtUtils::MakeMaker version 6.86, CPAN::Meta::Converter version 2.120351'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: 1.4
name: Log-Dispatch-File-Rolling
no_index:
directory:
- t
- inc
requires:
Log::Dispatch: 2.37
Log::Log4perl: 0.32
version: 1.09

View File

@ -1,25 +0,0 @@
use 5.006001;
use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
'NAME' => 'Log::Dispatch::File::Rolling',
'VERSION_FROM' => 'lib/Log/Dispatch/File/Rolling.pm', # finds $VERSION
'PREREQ_PM' => {
'Log::Log4perl' => '0.32',
'Log::Dispatch' => '2.37',
# 'Pod::Readme' => '0.05', # only needed for 'make dist'
},
($] >= 5.005 ? ( ## Add these new keywords supported since 5.005
ABSTRACT_FROM => 'lib/Log/Dispatch/File/Rolling.pm', # retrieve abstract from module
AUTHOR => 'M. Jacob <jacob@j-e-b.net>') : (),
LICENSE => 'perl',
depend => {
create_distdir => 'Changes',
Changes => 'lib/Log/Dispatch/File/Rolling.pm'."\n\t".q[$(FULLPERLRUN) -MPod::Readme -e 'Pod::Readme->new( readme_type => "changes" )->parse_from_file( "lib/Log/Dispatch/File/Rolling.pm", "Changes" )']."\n\n",
},
realclean => {
FILES => "Changes"
},
),
);

79
README
View File

@ -1,79 +0,0 @@
Log/Dispatch/File/Rolling version 1.09
======================================
--------
Abstract
--------
This module subclasses Log::Dispatch::File for logging to date/time
stamped files. It uses flock to ensure being safe in a multitasking
environment. It recognizes a fork() and will reopen the logfile, if
configured so even with a process specific filename.
------------
Requirements
------------
This module requires Log::Dispatch::File, included in the Log::Dispatch
distribution and Log::Log4perl::DateFormat, included in the
Log::Log4perl distribution. It has only be tested with the versions as
stated in Makefile.PL, if you find it works with earlier versions, too,
please send me a email. Thank you.
------------------
Basic Installation
------------------
Log::Dispatch::File::Rolling may be installed through the CPAN shell in
the usual manner:
# perl -MCPAN -e 'install Log::Dispatch::File::Rolling'
You can also read this README from the CPAN shell:
# perl -MCPAN -e shell
cpan> readme Log::Dispatch::File::Rolling
And you can install the component from the CPAN prompt as well:
cpan> install Log::Dispatch::File::Rolling
-------------------
Manual Installation
-------------------
Log::Dispatch::File::Rolling can also be installed manually. The latest
CPAN version can be found at <http://www.cpan.org/modules/by-
authors/id/J/JA/JACOB/> or in a similarly named directory at your
favorite CPAN mirror.
Downloading and unpacking the distribution are left as exercises for the
reader. To build and test it:
perl Makefile.PL
make test
When you're ready to install the component:
make install
It should now be ready to use.
On Win32 systems, replace "make" in the above commands with "nmake". The
nmake utility can be downloaded from
http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-
US/Nmake15.exe
---------------------
COPYRIGHT AND LICENCE
---------------------
Copyright (C) 2003, 2004, 2007, 2010, 2013 M. Jacob <jacob@j-e-b.net>
Based on:
Log::Dispatch::File::Stamped by Eric Cholet <cholet@logilune.com>
Log::Dispatch::FileRotate by Mark Pfeiffer, <markpf@mlp-consulting.com.au>
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.

19
debian/changelog vendored
View File

@ -1,19 +0,0 @@
liblog-dispatch-file-rolling-perl (1.09-1) UNRELEASED; urgency=medium
* Non-maintainer upload.
* New Release
* Rebuild
-- Mario Fetka <mario.fetka@gmail.com> Mon, 16 Jan 2017 14:39:46 +0100
liblog-dispatch-file-rolling-perl (0.16-2) unstable; urgency=medium
* Fixed metadata
-- Marco Pessotto <melmothx@gmail.com> Sun, 21 Feb 2016 13:03:43 +0100
liblog-dispatch-file-rolling-perl (0.16-1) unstable; urgency=low
* Initial Release.
-- Marco Pessotto <melmothx@gmail.com> Sun, 21 Feb 2016 12:59:24 +0100

1
debian/compat vendored
View File

@ -1 +0,0 @@
9

19
debian/control vendored
View File

@ -1,19 +0,0 @@
Source: liblog-dispatch-file-rolling-perl
Section: perl
Priority: optional
Maintainer: Marco Pessotto <melmothx@gmail.com>
Build-Depends: debhelper (>= 9)
Build-Depends-Indep: liblog-dispatch-perl (>= 2.30),
liblog-log4perl-perl (>= 0.28),
perl
Standards-Version: 3.9.6
Homepage: https://metacpan.org/release/Log-Dispatch-File-rolling
Package: liblog-dispatch-file-rolling-perl
Architecture: all
Depends: ${misc:Depends}, ${perl:Depends},
liblog-dispatch-perl (>= 2.30),
liblog-log4perl-perl (>= 0.28)
Description: Logging to date/time rolling files
Log::Dispatch::File::rolling subclasses Log::Dispatch::File for logging to
date/time rolling files, respecting all its configuration options.

28
debian/copyright vendored
View File

@ -1,28 +0,0 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://metacpan.org/release/Log-Dispatch-File-Stamped
Upstream-Contact: Eric Cholet <cholet@logilune.com>, Karen Etheridge <ether@cpan.org>
Upstream-Name: Log-Dispatch-File-Stamped
Files: *
Copyright: Eric Cholet <cholet@logilune.com>, Karen Etheridge <ether@cpan.org>
License: Artistic or GPL-1+
Files: debian/*
Copyright: 2016, Marco Pessotto <melmothx@gmail.com>
License: Artistic or GPL-1+
License: Artistic
This program is free software; you can redistribute it and/or modify
it under the terms of the Artistic License, which comes with Perl.
.
On Debian systems, the complete text of the Artistic License can be
found in `/usr/share/common-licenses/Artistic'.
License: GPL-1+
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.
.
On Debian systems, the complete text of version 1 of the GNU General
Public License can be found in `/usr/share/common-licenses/GPL-1'.

View File

@ -1,119 +0,0 @@
From f5ff541806ee2f0c5d6c8623ac6a591a79556342 Mon Sep 17 00:00:00 2001
From: Michael Schout <mschout@gkg.net>
Date: Mon, 14 Aug 2017 13:09:27 -0500
Subject: [PATCH] Update to work with Log::Dispatch v2.59 and later
See https://rt.cpan.org/Ticket/Display.html?id=120378
---
META.json | 2 +-
META.yml | 2 +-
Makefile.PL | 2 +-
lib/Log/Dispatch/File/Rolling.pm | 26 ++++++++++----------------
4 files changed, 13 insertions(+), 19 deletions(-)
diff --git a/META.json b/META.json
index c17c800..194ee13 100644
--- a/META.json
+++ b/META.json
@@ -32,7 +32,7 @@
},
"runtime" : {
"requires" : {
- "Log::Dispatch" : "2.37",
+ "Log::Dispatch" : "2.59",
"Log::Log4perl" : "0.32"
}
}
diff --git a/META.yml b/META.yml
index dd9b950..da355e1 100644
--- a/META.yml
+++ b/META.yml
@@ -18,6 +18,6 @@ no_index:
- t
- inc
requires:
- Log::Dispatch: 2.37
+ Log::Dispatch: 2.59
Log::Log4perl: 0.32
version: 1.09
diff --git a/Makefile.PL b/Makefile.PL
index add5084..c3bfaeb 100755
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -7,7 +7,7 @@ WriteMakefile(
'VERSION_FROM' => 'lib/Log/Dispatch/File/Rolling.pm', # finds $VERSION
'PREREQ_PM' => {
'Log::Log4perl' => '0.32',
- 'Log::Dispatch' => '2.37',
+ 'Log::Dispatch' => '2.59',
# 'Pod::Readme' => '0.05', # only needed for 'make dist'
},
($] >= 5.005 ? ( ## Add these new keywords supported since 5.005
diff --git a/lib/Log/Dispatch/File/Rolling.pm b/lib/Log/Dispatch/File/Rolling.pm
index 2928c1e..3e5fbbc 100755
--- a/lib/Log/Dispatch/File/Rolling.pm
+++ b/lib/Log/Dispatch/File/Rolling.pm
@@ -5,7 +5,7 @@ use 5.006001;
use strict;
use warnings;
-use Log::Dispatch::File '2.37';
+use Log::Dispatch::File '2.59';
use Log::Log4perl::DateFormat;
use Fcntl ':flock'; # import LOCK_* constants
@@ -30,42 +30,36 @@ BEGIN { # borrowed from Log::Log4perl::Layout::PatternLayout, Thanks!
# Preloaded methods go here.
-sub new {
- my $proto = shift;
- my $class = ref $proto || $proto;
+sub _basic_init {
+ my $self = shift;
my %p = @_;
- my $self = bless {}, $class;
-
# only append mode is supported
- $p{mode} = 'append';
+ $self->{mode} = '>>';
- # base class initialization
- $self->_basic_init(%p);
+ $self->{rolling_fh_pid} = $$;
# split pathname into path, basename, extension
- if ($p{filename} =~ /^(.*)\%d\{([^\}]*)\}(.*)$/) {
+ if ($self->{filename} =~ /^(.*)\%d\{([^\}]*)\}(.*)$/) {
$self->{rolling_filename_prefix} = $1;
$self->{rolling_filename_postfix} = $3;
$self->{rolling_filename_format} = Log::Log4perl::DateFormat->new($2);
$self->{filename} = $self->_createFilename();
- } elsif ($p{filename} =~ /^(.*)(\.[^\.]+)$/) {
+ } elsif ($self->{filename} =~ /^(.*)(\.[^\.]+)$/) {
$self->{rolling_filename_prefix} = $1;
$self->{rolling_filename_postfix} = $2;
$self->{rolling_filename_format} = Log::Log4perl::DateFormat->new('-yyyy-MM-dd');
$self->{filename} = $self->_createFilename();
} else {
- $self->{rolling_filename_prefix} = $p{filename};
+ $self->{rolling_filename_prefix} = $self->{filename};
$self->{rolling_filename_postfix} = '';
$self->{rolling_filename_format} = Log::Log4perl::DateFormat->new('.yyyy-MM-dd');
$self->{filename} = $self->_createFilename();
}
- $self->{rolling_fh_pid} = $$;
- $self->_make_handle();
-
- return $self;
+ # base class initialization
+ $self->SUPER::_basic_init(%p);
}
sub log_message { # parts borrowed from Log::Dispatch::FileRotate, Thanks!
--
2.12.2

View File

@ -1 +0,0 @@
0001-Update-to-work-with-Log-Dispatch-v2.59-and-later.patch

4
debian/rules vendored
View File

@ -1,4 +0,0 @@
#!/usr/bin/make -f
%:
dh $@

View File

@ -1 +0,0 @@
3.0 (quilt)

View File

@ -1,8 +0,0 @@
---
Archive: CPAN
Bug-Database: https://rt.cpan.org/Public/Dist/Display.html?Name=Log-Dispatch-File-Rolling
Bug-Submit: bug-Log-Dispatch-File-Rolling@rt.cpan.org
Contact: Eric Cholet <cholet@logilune.com>, Karen Etheridge <ether@cpan.org>
Name: Log-Dispatch-File-Rolling
Repository: https://github.com/karenetheridge/Log-Dispatch-File-Rolling.git
Repository-Browse: https://github.com/karenetheridge/Log-Dispatch-File-Rolling

2
debian/watch vendored
View File

@ -1,2 +0,0 @@
version=3
https://metacpan.org/release/Log-Dispatch-File-Rolling .*/Log-Dispatch-File-Rolling-v?(\d[\d.-]*)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$

View File

@ -1,328 +0,0 @@
## no critic
package Log::Dispatch::File::Rolling;
use 5.006001;
use strict;
use warnings;
use Log::Dispatch::File '2.37';
use Log::Log4perl::DateFormat;
use Fcntl ':flock'; # import LOCK_* constants
our @ISA = qw(Log::Dispatch::File);
our $VERSION = '1.09';
our $TIME_HIRES_AVAILABLE = undef;
BEGIN { # borrowed from Log::Log4perl::Layout::PatternLayout, Thanks!
# Check if we've got Time::HiRes. If not, don't make a big fuss,
# just set a flag so we know later on that we can't have fine-grained
# time stamps
eval { require Time::HiRes; };
if ($@) {
$TIME_HIRES_AVAILABLE = 0;
} else {
$TIME_HIRES_AVAILABLE = 1;
}
}
# Preloaded methods go here.
sub new {
my $proto = shift;
my $class = ref $proto || $proto;
my %p = @_;
my $self = bless {}, $class;
# only append mode is supported
$p{mode} = 'append';
# base class initialization
$self->_basic_init(%p);
# split pathname into path, basename, extension
if ($p{filename} =~ /^(.*)\%d\{([^\}]*)\}(.*)$/) {
$self->{rolling_filename_prefix} = $1;
$self->{rolling_filename_postfix} = $3;
$self->{rolling_filename_format} = Log::Log4perl::DateFormat->new($2);
$self->{filename} = $self->_createFilename();
} elsif ($p{filename} =~ /^(.*)(\.[^\.]+)$/) {
$self->{rolling_filename_prefix} = $1;
$self->{rolling_filename_postfix} = $2;
$self->{rolling_filename_format} = Log::Log4perl::DateFormat->new('-yyyy-MM-dd');
$self->{filename} = $self->_createFilename();
} else {
$self->{rolling_filename_prefix} = $p{filename};
$self->{rolling_filename_postfix} = '';
$self->{rolling_filename_format} = Log::Log4perl::DateFormat->new('.yyyy-MM-dd');
$self->{filename} = $self->_createFilename();
}
$self->{rolling_fh_pid} = $$;
$self->_make_handle();
return $self;
}
sub log_message { # parts borrowed from Log::Dispatch::FileRotate, Thanks!
my $self = shift;
my %p = @_;
my $filename = $self->_createFilename();
if ($filename ne $self->{filename}) {
$self->{filename} = $filename;
$self->{rolling_fh_pid} = 'x'; # force reopen
}
if ( $self->{close} ) {
$self->_open_file;
$self->_lock();
my $fh = $self->{fh};
print $fh $p{message};
$self->_unlock();
close($fh);
$self->{fh} = undef;
} elsif (defined $self->{fh} and ($self->{rolling_fh_pid}||'') eq $$ and defined fileno $self->{fh}) { # flock won't work after a fork()
my $inode = (stat($self->{fh}))[1]; # get real inode
my $finode = (stat($self->{filename}))[1]; # Stat the name for comparision
if(!defined($finode) || $inode != $finode) { # Oops someone moved things on us. So just reopen our log
$self->_open_file;
}
$self->_lock();
my $fh = $self->{fh};
print $fh $p{message};
$self->_unlock();
} else {
$self->{rolling_fh_pid} = $$;
$self->_open_file;
$self->_lock();
my $fh = $self->{fh};
print $fh $p{message};
$self->_unlock();
}
}
sub _lock { # borrowed from Log::Dispatch::FileRotate, Thanks!
my $self = shift;
flock($self->{fh},LOCK_EX);
# Make sure we are at the EOF
seek($self->{fh}, 0, 2);
return 1;
}
sub _unlock { # borrowed from Log::Dispatch::FileRotate, Thanks!
my $self = shift;
flock($self->{fh},LOCK_UN);
return 1;
}
sub _current_time { # borrowed from Log::Log4perl::Layout::PatternLayout, Thanks!
# Return secs and optionally msecs if we have Time::HiRes
if($TIME_HIRES_AVAILABLE) {
return (Time::HiRes::gettimeofday());
} else {
return (time(), 0);
}
}
sub _createFilename {
my $self = shift;
return $self->{rolling_filename_prefix}
. $self->_format()
. $self->{rolling_filename_postfix};
}
sub _format {
my $self = shift;
my $result = $self->{rolling_filename_format}->format($self->_current_time());
$result =~ s/(\$+)/sprintf('%0'.length($1).'.'.length($1).'u', $$)/eg;
return $result;
}
1;
__END__
=for changes stop
=head1 NAME
Log::Dispatch::File::Rolling - Object for logging to date/time/pid
stamped files
=head1 SYNOPSIS
use Log::Dispatch::File::Rolling;
my $file = Log::Dispatch::File::Rolling->new(
name => 'file1',
min_level => 'info',
filename => 'Somefile%d{yyyyMMdd}.log',
mode => 'append' );
$file->log( level => 'emerg',
message => "I've fallen and I can't get up\n" );
=head1 ABSTRACT
This module provides an object for logging to files under the
Log::Dispatch::* system.
=head1 DESCRIPTION
This module subclasses Log::Dispatch::File for logging to date/time
stamped files. See L<Log::Dispatch::File> for instructions on usage.
This module differs only on the following three points:
=over 4
=item fork()-safe
This module will close and re-open the logfile after a fork.
=item multitasking-safe
This module uses flock() to lock the file while writing to it.
=item stamped filenames
This module supports a special tag in the filename that will expand to
the current date/time/pid.
It is the same tag Log::Log4perl::Layout::PatternLayout uses, see
L<Log::Log4perl::Layout::PatternLayout>, chapter "Fine-tune the date".
In short: Include a "%d{...}" in the filename where "..." is a format
string according to the SimpleDateFormat in the Java World
(http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html).
See also L<Log::Log4perl::DateFormat> for information about further
restrictions.
In addition to the format provided by Log::Log4perl::DateFormat this
module also supports '$' for inserting the PID. Repeat the character to
define how many character wide the field should be. This should not be
needed regularly as this module also supports logfile sharing between
processes, but if you've got a high load on your logfile or a system
that doesn't support flock()...
=back
=head1 METHODS
=over 4
=item new()
See L<Log::Dispatch::File> and chapter DESCRIPTION above.
=item log_message()
See L<Log::Dispatch::File> and chapter DESCRIPTION above.
=back
=for changes continue
=head1 HISTORY
=over 8
=item 0.99
Original version; created by h2xs 1.22 with options
-A
-C
-X
-b5.6.1
-nLog::Dispatch::File::Rolling
--skip-exporter
-v0.99
=item 1.00
Initial coding
=item 1.01
Someone once said "Never feed them after midnight!"---Ok, let's append:
"Never submit any code after midnight..."
Now it is working, I also included 4 tests.
=item 1.02
No code change, just updated Makefile.PL to include correct author
information and prerequisites.
=item 1.03
Changed the syntax of the '$' format character because I noticed some
problems while making Log::Dispatch::File::Alerts. You need to change
your configuration!
=item 1.04
Got a bug report where the file handle got closed in mid-execution somehow.
Added a additional check to re-open it instead of writing to a closed
handle.
=item 1.05
Updated packaging for newer standards. No changes to the coding.
=item 1.06
Fixed a subtle bug that prevented us from locking the logfile after a fork if no
PID was used in the filename.
Also disabled forced double opening of the logfile at startup. It was in place
because I didn't trust L<Log::Dispatch::File> to really open the file at the
right moment.
Thanks to Peter Lobsinger for the patch. Please always wrap non-standard Test::*
modules in eval and make your testfile clean up after itself... ;)
=item 1.07
Fixed rt.cpan.org bug #89001. Seems L<Log::Dispatch::File> changed its
initialization procedure---and we are inheriting from it.
=item 1.08
Fixed dependency on L<Log::Dispatch::File>. The change in 1.07 only works with
2.37 or later. For older versions of L<Log::Dispatch::File> use 1.06.
=item 1.09
Dependency change of 1.08 was missing from the Makefile.PL. Oops.
=back
=for changes stop
=head1 SEE ALSO
L<Log::Dispatch::File>, L<Log::Log4perl::Layout::PatternLayout>,
http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html,
L<Log::Log4perl::DateFormat>, 'perldoc -f flock', 'perldoc -f fork'.
=head1 AUTHOR
M. Jacob, E<lt>jacob@j-e-b.netE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2003, 2004, 2007, 2010, 2013 M. Jacob E<lt>jacob@j-e-b.netE<gt>
Based on:
Log::Dispatch::File::Stamped by Eric Cholet <cholet@logilune.com>
Log::Dispatch::FileRotate by Mark Pfeiffer, <markpf@mlp-consulting.com.au>
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut

View File

@ -0,0 +1 @@
11150153d97b24dab0a424c0bb803bea15cc4cd1

17
t/1.t
View File

@ -1,17 +0,0 @@
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl 1.t'
#########################
# change 'tests => 1' to 'tests => last_test_to_print';
use Test;
BEGIN { plan tests => 1 };
use Log::Dispatch::File::Rolling;
ok(1); # If we made it this far, we're ok.
#########################
# Insert your test code below, the Test::More module is use()ed here so read
# its man page ( perldoc Test::More ) for help writing this test script.

18
t/2.t
View File

@ -1,18 +0,0 @@
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl 1.t'
#########################
# change 'tests => 1' to 'tests => last_test_to_print';
use Test;
BEGIN { plan tests => 1 };
use Log::Dispatch;
use Log::Dispatch::File::Rolling;
ok(1); # If we made it this far, we're ok.
#########################
# Insert your test code below, the Test::More module is use()ed here so read
# its man page ( perldoc Test::More ) for help writing this test script.

70
t/3.t
View File

@ -1,70 +0,0 @@
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl 1.t'
#########################
# change 'tests => 1' to 'tests => last_test_to_print';
use Test;
BEGIN { plan tests => 8 };
use Log::Dispatch;
use Log::Dispatch::File::Rolling;
ok(1); # If we made it this far, we're ok.
#########################1
my $dispatcher = Log::Dispatch->new;
ok($dispatcher);
#########################2
my %params = (
name => 'file',
min_level => 'debug',
filename => 'logfile.txt',
);
my $Rolling = Log::Dispatch::File::Rolling->new(%params);
ok($Rolling);
#########################3
$dispatcher->add($Rolling);
ok(1);
#########################4
my $message = 'logtest id ' . int(rand(9999));
$dispatcher->log( level => 'info', message => $message );
ok(1);
#########################5
$dispatcher = $Rolling = undef;
ok(1);
#########################6
my @logfiles = glob('logfile*.txt');
ok(scalar(@logfiles) == 1 or scalar(@logfiles) == 2);
#########################7
my $content = '';
foreach my $file (@logfiles) {
open F, '<', $file;
local $/ = undef;
$content .= <F>;
close F;
unlink $file;
}
ok($content =~ /$message/);
#########################8

70
t/4.t
View File

@ -1,70 +0,0 @@
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl 1.t'
#########################
# change 'tests => 1' to 'tests => last_test_to_print';
use Test;
BEGIN { plan tests => 8 };
use Log::Dispatch;
use Log::Dispatch::File::Rolling;
ok(1); # If we made it this far, we're ok.
#########################1
my $dispatcher = Log::Dispatch->new;
ok($dispatcher);
#########################2
my %params = (
name => 'file',
min_level => 'debug',
filename => 'logfile%d{$$}.txt',
);
my $Rolling = Log::Dispatch::File::Rolling->new(%params);
ok($Rolling);
#########################3
$dispatcher->add($Rolling);
ok(1);
#########################4
my $message = 'logtest id ' . int(rand(9999));
$dispatcher->log( level => 'info', message => $message );
ok(1);
#########################5
$dispatcher = $Rolling = undef;
ok(1);
#########################6
my @logfiles = glob("logfile$$.txt");
ok(scalar(@logfiles) == 1);
#########################7
my $content = '';
foreach my $file (@logfiles) {
open F, '<', $file;
local $/ = undef;
$content .= <F>;
close F;
unlink $file;
}
ok($content =~ /$message/);
#########################8

70
t/5.t
View File

@ -1,70 +0,0 @@
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl 1.t'
#########################
# change 'tests => 1' to 'tests => last_test_to_print';
use Test;
BEGIN { plan tests => 8 };
use Log::Dispatch;
use Log::Dispatch::File::Rolling;
ok(1); # If we made it this far, we're ok.
#########################1
my $dispatcher = Log::Dispatch->new;
ok($dispatcher);
#########################2
my %params = (
name => 'file',
min_level => 'debug',
filename => 'logfile',
);
my $Rolling = Log::Dispatch::File::Rolling->new(%params);
ok($Rolling);
#########################3
$dispatcher->add($Rolling);
ok(1);
#########################4
my $message = 'logtest id ' . int(rand(9999));
$dispatcher->log( level => 'info', message => $message );
ok(1);
#########################5
$dispatcher = $Rolling = undef;
ok(1);
#########################6
my @logfiles = glob("logfile.2*");
ok(scalar(@logfiles) == 1 or scalar(@logfiles) == 2);
#########################7
my $content = '';
foreach my $file (@logfiles) {
open F, '<', $file;
local $/ = undef;
$content .= <F>;
close F;
unlink $file;
}
ok($content =~ /$message/);
#########################8

74
t/6.t
View File

@ -1,74 +0,0 @@
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl 1.t'
#########################
# change 'tests => 1' to 'tests => last_test_to_print';
use Test;
BEGIN { plan tests => 9 };
use Log::Dispatch;
use Log::Dispatch::File::Rolling;
ok(1); # If we made it this far, we're ok.
#########################1
my $dispatcher = Log::Dispatch->new;
ok($dispatcher);
#########################2
my %params = (
name => 'file',
min_level => 'debug',
filename => 'logfile.txt',
);
my $Rolling = Log::Dispatch::File::Rolling->new(%params);
ok($Rolling);
#########################3
$dispatcher->add($Rolling);
ok(1);
#########################4
my $message1 = 'logtest id ' . int(rand(9999));
my $message2 = 'logtest id ' . int(rand(9999));
$dispatcher->log( level => 'info', message => $message1 );
close $Rolling->{fh}; # disturb internal bookkeeping, must recover from this
$dispatcher->log( level => 'info', message => $message2 );
ok(1);
#########################5
$dispatcher = $Rolling = undef;
ok(1);
#########################6
my @logfiles = glob('logfile*.txt');
ok(scalar(@logfiles) == 1 or scalar(@logfiles) == 2);
#########################7
my $content = '';
foreach my $file (@logfiles) {
open F, '<', $file;
local $/ = undef;
$content .= <F>;
close F;
unlink $file;
}
ok($content =~ /$message1/);
ok($content =~ /$message2/);
#########################8

View File

@ -1,5 +0,0 @@
use Test::More;
eval "
use Test::Pod 1.00;";
plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
all_pod_files_ok();

View File

@ -1,5 +0,0 @@
use Test::More;
eval "
use Test::Pod::Coverage 1.00; ";
plan skip_all => "Test::Pod::Coverage 1.00 required for testing POD coverage" if $@;
all_pod_coverage_ok();

View File

@ -1,75 +0,0 @@
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl 1.t'
#########################
use Test::More;
eval "
use Test::Fork; ";
plan skip_all => "Test::Fork required for this test" if $@;
plan tests => 12;
use Log::Dispatch;
use Log::Dispatch::File::Rolling;
ok(1); # If we made it this far, we're ok.
#########################1
my $dispatcher = Log::Dispatch->new;
ok($dispatcher);
#########################2
my %params = (
name => 'file',
min_level => 'debug',
filename => 'logfile.txt',
);
my $Rolling = Log::Dispatch::File::Rolling->new(%params);
ok($Rolling);
#########################3
$dispatcher->add($Rolling);
ok(1);
#########################4
my @message = map {'logtest id ' . int(rand(9999))} 1 .. 3;
my $initial_fileno = fileno $Rolling->{fh};
$dispatcher->log( level => 'info', message => $message[0] );
my $parent_fileno = fileno $Rolling->{fh};
is( $parent_fileno, $initial_fileno, "initial log call doesn't reopen" );
fork_ok( 2, sub {
$dispatcher->log( level => 'info', message => $message[1] );
my $child_fileno = fileno $Rolling->{fh};
isnt( $child_fileno, $parent_fileno, "logging in child reopens" );
$dispatcher = $Rolling = undef;
ok(1);
});
$dispatcher->log( level => 'info', message => $message[2] );
my $_parent_fileno = fileno $Rolling->{fh};
is( $_parent_fileno, $parent_fileno, "logging in parent does not reopen" );
ok(1);
#########################5
$dispatcher = $Rolling = undef;
ok(1);
#########################6
my @logfiles = glob('logfile*.txt');
ok(scalar(@logfiles) == 1 or scalar(@logfiles) == 2);
#########################7
foreach my $file (@logfiles) {
unlink $file;
}