arclog/Changes
2022-03-19 10:15:14 +08:00

809 lines
32 KiB
Plaintext

arclog change log
2022-03-19
1. Added support for the xz compression.
2. Replaced Compress::Zlib with IO::Compress::Gzip and
IO::Uncompress::Gunzip.
3. Replaced Compress::Bzip2 with IO::Compress::Bzip2 and
IO::Uncompress::Bunzip2.
2020-02-06 version 3.05
1. Replaced the messy GNU-styled, multi-lingual documents with a
single Markdown README.md.
2. Added the GitHub repository to the document, and removed the
SourceForge website, my web page, and the SourceForge mailing
list from the document.
3. Removed the document license, and my PGP key from the package.
Removed the signature file from the repository.
4. Various fixes to avoid JetBrains IDE problem detection.
2020-02-04
Changed the license from GPLv3 to APLv2.
2020-02-01
arclog is hosted on GitHub now.
2008-11-18
1. INSTALL and arclog.en.html: Fixed the grammar on
installation with the CPAN or CPANPLUS shell, changed
"install with the CPAN shell using" and "install with the
CPANPLUS shell using" to "install it with the CPAN shell
by running" and "install it with the CPANPLUS shell by
running".
2. INSTALL* and reslog.*.html: Changed "Fedora/Red Hat" to
"Red Hat/Fedora/CentOS".
3. INSTALL.zh-tw and INSTALL.zh-cn: Added the missing
Date::Parse to the required modules section.
2008-11-17
1. INSTALL and arclog.en.html: Fixed the grammar on required
and optional module installation, changed "install using"
and "install this using" to "install it by running".
2008-11-15
1. arclog.*.html: Clean-up some blank lines.
2. arclog.en.html: Removed the message about CPAN source
in required modules. It is stated in the module
description in detail now.
3. arclog.*.html: Fixed so that installation from source and
with shells are joint into one sentence.
2008-11-12
1. INSTALL, arclog.en.html: Updated "don't" and "won't" to
"do not" and "will not".
2. INSTALL, arclog.en.html: Updated "ActivePerl MS-Windows
users" to "ActivePerl users". ActivePerl use ppm
on all platforms, not limiting to MS-Windows.
3. INSTALL: Updated "ActivePerl MS-Windows
users" to "ActivePerl users". ActivePerl use ppm
on all platforms, not limiting to MS-Windows.
4. INSTALL*, arclog.*.html: Added the command lines to
install modules with the CPANPLUS shell.
2008-11-11
1. INSTALL*, arclog.*.html: Updated information on
optional Perl modules, to describe different installation
commands for different operating systems.
2. arclog: Fixed the _private::ProgressBar class so
that it does not use() Term::ReadKey, but require() it
at object initialization. This enables it to work
when Term::ReadKey is missing.
3. arclog: Fixed the update() method of the
_private::ProgressBar class, to accept a dynamic label.
2008-09-30
1. arclog: Update the update() method of the the
_private::ProgressBar class too use the bracket
characters instead of the pipe character for a better
visual outlook.
2008-09-29
1. arclog: Use the _private::ProgressBar class in replace of
the show_progress() function to display the progress bar.
This makes the progress bar easier and more pretty.
2008-04-21
1. INSTALL and arclog.en.html: Fixed typo: "instalation" to
"installation".
2007-12-05
1. arclog: Initialize the static variables within BEGIN {...}
blocks for all _private::* classes.
2. NEWS: Added. The NEWS file is quite useful in addition to
the Changes change log.
3. arclog.*.html: Added GPLv3 license update to the 3.00
release notes.
4. arclog.*.html: Refer to NEWS instead of Changes for release
notes.
2007-12-04
1. Makefile.PL: Fixed to prevent importing symbols when
checking optional prerequisites.
2. arclog: Fixed the check_type() method of the
_private::LogFile class, so that empty files are checked
with the file name suffix, too. This solve the issue
that Compress::Bzip2 2 creates empty files which confuse
further processing on file name suffix stripping.
3. arclog: Removed unused $GZIP_IO and $BZIP2_IO from the
_private::LogFile class.
2007-12-03
1. arclog.zh-tw.html, arclog.zh-cn.html: "不需要安裝新版" was
revised to "不需要昇級新版".
2. Build.PL: Fixed the comment. This file is "Build.PL",
not "Makefile.PL".
3. Build.PL: Added "use warnings;".
2007-12-03 version 3.04
Documentation fix.
1. arclog, arclog.*.html, README*: Added the information on
the usability of arclog with log files from many
software that log with an Apache-like log format.
2. arclog.zh-cn.html: Fixed the version number.
3. arclog.*.html: Added <dfn>...</dfn> to the description.
2007-12-03 version 3.03
1. t/*.t: Fixed so that send frread($fs) instead of $cs
is sent to arclog STDIN when reading from STDIN, so that
compressed content is sent to arclog but not the original
content.
2. arclog.zh-tw.html, arclog.zh-cn.html: Revised the Chinese
text on "3-argument open()" so that it is more readable.
3. t/_helper.pm: Updated the way we generate the time with
time zones in the mkrndlog_apache() and
mkrndlog_modfiso() subroutines, using "gmtime($t + $tz)",
so that we can obtain a reliable time text with time zone
without using time2str() from Date::Format
4. t/04-errors.t: Added a test on "a same log file is
specified more than once".
2007-12-02
1. t/02-several.t, t/03-fallback.t, t/04-errors.t: Use
"do { ... } until !... " instead of "do { ... } while ..."
so that the code is more readable.
2. t/02-several.t, t/03-fallback.t, t/04-errors.t: Initialize
@cs and @cem before using them.
2007-12-01
1. arclog: Use "use 5.008" instead of "use 5.8.0", for
compatibility with older Perl, and get ride of the warning
of Perl 5.10.
2007-11-30
1. t/_helper.pm: Updated the version number to 0.02.
2. arclog, arclog.*.html: Added NTP in addition to Syslog
to the note with log file formats without years.
3. arclog.zh-tw.html, arclog.zh-cn.html: Fixed the text
on the note with log file formats without years.
4. t/_helper.pm: Reorder the subroutines.
5. t/_helper.pm: Reset the %WHEREIS hash in the beginning.
6. t/01-exhaust.t: Fixed to set %cof to "" instead of 1
when not creating existing files.
7. t/_helper.pm: Removed unused "ce" from @KEEPTYPES.
2007-11-30 version 3.02
1. t/_helper.pm: Use time2str() from Date::Format to
generate the time text instead of doing this my self.
The way I generate the time text cannot deal with
daylight saving time. It should be safe to use
Date::Format, since Date::Format is in the same TimeDate
distribution as Date::Parse, at least till now.
2. t/_helper.pm: Increased time zone range from -1200 to
+1400 in the mkrandlog_apache() and mkrandlog_modfiso()
subroutines.
2007-11-29
1. arclog.zh-tw.html, TODO.zh-tw, TODO.zh-cn: Changed
'繁體中文' to '正體中文'.
2007-11-28 version 3.01
Test suite improvement.
1. arclog, TODO.*: Clean up to-do list.
2. Makefile.PL: Use "use 5.008" instead of "use 5.8.0" for
compatibility with older Perl.
3. t/01-exhaust.t: Added $vardump to error output, to catch
CPAN testers test failures.
4. Return to build distribution with ExtUtils::MakeMaker,
since Module::Build did not preserve the original file
date.
2007-11-28 version 3.00
1. t/01-exhaust.t: Fixed so that a zero-sized result file
is valid as application/x-bzip2. This is to fix the
issue that Compress::Bzip2 does not write anything if
no data is sent to the compression handler.
2007-11-27
1. Makefile.PL, Build.PL: Clean-up old file found message.
2. Makefile.PL: Added message for optional prerequisites.
3. arclog.zh-tw.html, arclog.zh-cn.html: Tag the languages.
4. t/02-several.t: Added the missing "several source files
all listed as arguments" tests.
5. t/01-exhaust.t: Moved @OVERTYPES to t/_helper.t.
6. t/02-several.t: Use random log format instead of Apache
access log.
7. t/03-fallback.t: Added, to test the fall back behavior.
2007-11-26
1. t/03-errors.t: Renamed to t/04-errors.t.
2. t/01-exhaust.t: Moved @KEEPTYPES to t/_helper.t.
3. t/04-errors.t: Fixed to set $num with rand().
4. t/_helper.pm, t/*.t: Updated the license to GPLv3.
5. arclog.*.html: Added stylesheets and access guide.
6. README, README.zh-tw, README.zh-cn: Updated.
7. fdl.txt: Added.
8. MSWin32 and MS-Win32 is now written as MS-Windows in the
documentation.
9. arclog: Reorder the debug message in the check_gzip() and
check_bzip2() methods of the _private::IO class.
10. Makefile.PL, Build.PL: Fixed comment typo. ("any old files")
11. Build.PL: Added "recommends" and "build_requires".
2007-11-25
1. t/03-errors.t: Fixed while loop to do...while loop when
obtaining output prefix, so that we obtain a random word first.
2. t/03-errors.t: Renamed $output to $opref. Added $oprefb as
the base name of the output prefix.
3. t/_helper.t: Fixed the errors in the mkrndlog_apache() and
mkrndlog_modfiso() subroutines that dump $tzoff as $zoff.
4. t/_helper.t: Fixed the time zone representation that mistakenly
output -0030 as +0030 in the mkrndlog_apache() and
mkrndlog_modfiso() subroutines. This test suite bug is hard to
track, since it only appears with log formats with time zones,
in the time zone -0300 and log records in that one-hour
boundary. This chance is too small. I saw one or two every
now and then, and am pretty sure there is a bug, but spent
numerous time testing in vain. I finally got this bug. Yes!
5. t/_helper.t: Fixed the $tzoff calculation from
timegm(@_[0...5]) - timelocal(@_[0...5]) to
timelocal(localtime) - timelocal(gmtime) in the
mkrndlog_apache() and mkrndlog_modfiso() subroutines.
6. t/_helper.t: Set time to 00:00:00 in the monrng_rand()
subroutine.
7. t/02-several.t: Added, to test archiving several log files
at once.
8. arclog, arclog.en.html, INSTALL: Fixed the typo "archieve"
as "archive".
9. t/01-exhaust.t: Moved @SRCTYPES to t/_helper.pm so that it can
be shared among tests.
10. arclog: Fixed to return ref($GZIP_IO)->new instead of $GZIP_IO
in the check_gzip() method, ref($BZIP2_IO)->new instead of
$BZIP2_IO in the check_bzip2() method of the _private::IO class,
so that a same I/O handler will not be returned to different log
files.
2007-11-24
1. arclog: Moved output prefix "-" check to the front in
the parse_args() subroutine.
2. arclog: Fixed the new() method of the _private::LogFile::STDIN
class to unlink0() after checking the file type with the file
executable.
3. t/_helper.pm: Fixed the mkrndlog_existing() subroutine to
obtain the content with anonymous array index but not @_.
4. t/_helper.pm: Fixed the mkrndlog_*() subroutines to
return @logs and time zone variable dumps for easier debugging.
5. t/*.t: Added a debug file to save dumped variables for easier
debugging.
6. t/02-errors.t: Renamed to t/03-errors.t.
7. t/*.t: Renamed the debug file "debug" to "$logfile.debug", so
that each log file can have its own variable dump.
8. t/03-errors.t: Added "$logfile.debug" to mixing formats tests.
9. t/_helper.pm, t/*.t: Renaming $debug to $vardump, and
"$logfile.debug" to "$logfile.vardump".
2007-11-23
1. t/02-errors.t: Added tests on mixing log formats and STDOUT
output prefix.
2. t/01-exhaust.t: Moved @LOGFMTS to t/_helper.pm so that it
can be shared among tests.
2007-11-22
1. arclog: Fixed $SIG{__WARN__} to $SIG{"__WARN__"} in the
parse_args() subroutine.
2. t/01-exhaust.t: Fixed to loop the override mode in the keep
mode.
2. t/01-exhaust.t: Removed unused $ce and %fm.
3. t/01-exhaust.t: Added the override mode "default".
4. t/02-errors.t: Added.
2007-11-20
1. t/01-format.t: Removed. t/03-exhaust.t should do the work.
2. t/03-exhaust.t: Renamed to t/01-exhaust.t.
3. t/_helper.pm: Removed the logfmts(), srctypes(), restypes(),
overtypes() subroutines, and replaced with the @LOGFMTS,
@SRCTYPES, @RESTYPES, @OVERTYPES arrays. These information are
only used once in one test. This makes it simpler.
4. t/01-exhaust.t: Finished. Using loop to test 1800 combinations
of options, arguments, file types and file formats.
5. t/02-apache.t: Removed. t/01-exhaust.t has replaced it.
6. arclog: Rewrote the new() method of the _private::Format package
so that it simply returns the blessed object. Test the match
at in the check_format() method, so that it reports matching tests
at $VERBOSE > 2.
7. t/01-exhaust.t: Removed the $nofile, $nogzip and $nobzip2
variables. The nofile(), nogzip() and nobzip2() subroutines have
replaced them.
2007-11-19
1. t/_helper.pm: Removed the mkrndlog_random() subroutine. It does
not look like I'll be using it.
2. t/_helper.pm: Fixed the flist() subroutine to exclude non-files.
3. t/_helper.pm: Renamed the preserve_source() subroutine to
prsrvsrc().
4. t/*.t: Removed the strange escaping of double-quotation character
of arclog path.
5. t/_helper.pm: Fixed the cleanup() subroutine to skip clean-up
if the log directory does not exist.
6. t/03-exhaust.t: Added to test all the option/argument
combinations.
2007-11-18
1. arclog: Move the TYPE_PLAIN, TYPE_GZIP and TYPE_BZIP2 constants
from the _private::LogFile package to the main package, so that
other packages can use it, too.
2. arclog: Added $one_arg in the parse_arg() subroutine to deal with
only one argument, and check if the only one argument is STDIN in
advance. If a compressed source log file is the only one argument,
remove the compression suffix (.gz or .bz2) from the output
prefix.
3. _helper.pm: Added the cleanup() subroutine to clean up after
a test.
4. _helper.pm: Added the TYPE_PLAIN, TYPE_GZIP and TYPE_BZIP2
constants for easier use.
5. arclog: Clean up File::Spec::Functions references.
6. Makefile.PL and Build.PL: Changed the clean-up list from "t/log/*"
to "t/log*".
7. t/_helper.pm: Added the preserve_source() subroutine to preserve
the source log file for reference.
2007-11-17
1. arclog: Fixed the remove_temp() method of the _private::LogFile
package, so that it does not try to delete an anonymous
temporarily working file.
2. t/01-format.t: Fixed the test so that it only remove the working
directory on success, and leave the directory on fail.
2007-11-16
1. t/_helper, t/01-format.t: Added. This is the first real test
suite that test the functionality of arclog, though it does
not cover many of the arclog functionality yet.
2007-11-15
1. UPGRADE, UPGRADE.zh-tw, UPGRADE.zh-cn: Added.
2. arclog: Rename the add_record() method to add() in the
_private::Archive package.
3. arclog: Reformatted the POD document.
4. arclog: Added the sort() method to the _private::Archive package,
and implement the sorting ability. The new way (sort the
record index but not record themselves) seems to have lesser
memory impact than the original implementation.
5. arclog: Added time zone to the bracketed ISO 8601 format.
6. Upgrade notes changed from 2.1.1dev3 to 2.1.1dev4.
6. arclog: Rename the _private::Format::BracketISO package to
_private::Format::ModfISO. It is not really ISO 8601.
2007-11-14
1. Changes.zh-tw, Changes.zh-cn: Removed. It is too troublesome to
maintain 3 copies of the change log.
2. arclog: Fixed the rel2abs() subroutine and method so that it use
getpwuid() instead of getlogin(), and respect the HOME environment
variable for the current user.
3. arclog: Renamed the new_read() method as open_read(), the
new_write() method as open_write(), the new_append() method
as open_append(). Replaced the strange architect that start
a new instance with $ioclass, with reusing the same $io object.
4. arclog: Removed the Chinese GPL copyright message. There should
only be one version of the copyright message, and should not be
any Chinese comment.
5. Moved from GPLv2 to GPLv3.
6. COPYING.zh-tw, COPYING.zh-cn: Removed. The Chinese translation
of GPLv3 is not available yet.
7. arclog: Removed subroutines arc_log(), open_src(), sort_arcs(),
save_arcs(), check_file_type(), check_gzip(), check_bzip2(),
format_number(). They are not used anymore.
8. arclog: Fixed the read_source() method to save the record count
for later use (like progress bar).
9. arclog: Added show_progress() to show the progress bar.
10. Makefile.PL: Fixed to follow the Perl installation location,
but not making our own.
11. Build.PL: Added.
12. NEW, NEWS.zh-tw, NEWS.zh-cn: Removed, to follow the CPAN release
style.
13. arclog: Disallow archiving a same log file more than once.
14. arclog: Fixed parse_args() and removed the duplicated short help
on Getopt::Long::GetOptions errors.
15. arclog: Remove the _private::Format->to_yyyymm() method. The
main utility to_yyyymm() subroutine can be used. There shouldn't
be 2 to_yyyymm() that do the same thing.
16. arclog: Adding statistics report to the
_private::LogFile->restore_this_month() method and the
_private::Archive->store_archive() method.
17. arclog: Removed the _private::LogFile->rel2abs() method. The
main utility rel2abs() subroutine can be used. There shouldn't
be 2 rel2abs() that do the same thing.
18. arclog: Fixed show_progress() to reset the clean-up the start
time when progress is finished.
19. arclog: Fixed the close() method of the _private::IO::* packages
so that KEEP_THISMONTH restart the log file, too.
19. arclog: Added the prepend_records() method to the _private::IO::*
packages, and use prepend_records() to return the records of
this month, so that we can take the advantage of open() only once
on plain text I/O.
2007-11-13
1. arclog, arclog.en.html: Changed "don't" to "do not", "can't" to
"cannot", "there's" to "there is", "it's" to "it is", "we'll" to
"we will", "I'd" to "I had", "that's" to "that is", "this month's
temporary file" to "the temporary file of this month", to help
editor syntax highlighting.
2. arclog: Add commented single quotation mark to the end of
regular expressions that has a single quotation mark, to help
editor syntax highlighting.
3. arclog: Changed "Deal the ~ home directories under UNIX" to
"Deal with the ~ user home directories under UNIX",
"If start from user's home directory" to
"If it starts from the user home directory".
4. arclog: Changed "$VERBOSE >= 2" to "$VERBOSE > 1", $VERBOSE >= 1"
to "$VERBOSE > 0".
5. arclog: Finished the _private::LogFile->check_format() method.
Fixed the parse_args() subroutine to skip empty files, and exit
if no non-empty files left.
6. arclog: Fixed parse_args() to treat "/dev/stdin" as STDIN on
UNIX-like systems.
7. arclog: Changed " -- " to " - " in comment.
8. arclog: Add the new() methods of the _private::Format::* packages
so that it judges if the log record belong to its format and
return accordingly, in order to judge and initialize at a time,
to simplify the code.
9. arclog: Add the name() methods to the _private::Format::* packages
to return the format name.
10. arclog: Moved the check_gzip() method and the check_bzip2() method
from the _private::LogFile package to the _private::IO package, so
that other packages can access them too. Remove the $self in
the check_gzip() method and the check_bzip2() method. They are not
used at all, and these 2 methods are run as static method now.
11. arclog: Changed $OUTPUT to $CONF{"OUTPUT"}.
12. arclog: Added the suffix() method to the _private::IO::* packages.
13. arclog: Added the _private::Archive package.
2006-06-08
1. arclog: Revised the code with my own coding standard.
2. Changes: ChangeLog renamed to Changes, in order to follow Perl's
convention.
2006-06-05
1. arclog.pl changed to arclog.
2. Removed Chinese text in comments.
3. Added prototype declaration.
4. Version number changed from x.x.x to x.xx,
as Perl preferred.
5. Replaced GNU autoconf with ExtUtils::MakeMaker.
6. SIGNATURE: Added.
7. arclog: changed constants from "use vars"
to "use constant".
2004-01-27
1. Reading loop changed from do {...} while()
to for(;;;) {...}, to fix the problem
"Exiting subroutine via next at ..." when
encountering and skipping a bad record.
2003-01-04
1. File handler EOF read checks were fixed with
defined().
2002-11-13
1. NTP log date-time format support was added.
2002-11-13
1. ISO number was added (ISO 8601) when displaying
the ISO date-time format detection.
2. Long statistic lines are split for easy reading.
2002-11-12
1. The line of $| was moved to be grouped together
with the autoflush setting.
2. ISO date-time format support was added
(as [yyyy-mm-dd hh:nn:ss].)
3. UNIX mailbox Received: date-time format regular
expression was added. (sendmail style. Support
not added yet.)
4. Fixed several places where $WORKING_SRC was not
locked when created with tempfile, and not
unlocked when closed.
5. Fixed several places where spaces are between
function name and its opening parenthesis,
according to perlstyle(1).
6. Unnecessary parenthesis after slice and catfile
were removed.
2002-09-26
1. README was rewritten for the autoconf and bzip2
new features.
2. INSTALL was rewritten for the autoconf.
3. HTML documents were rewritten for the autoconf
and bzip2 new features.
4. PGP public key file pgpkey.asc was added.
5. Released as version 2.1.0
2002-09-25
1. GNU autoconf and automake are now used as the
configuration script, in stead of Install.PL.
Install.PL is now retired.
2. autoconf m4 macros IM_CHECK_PERLVER and
IM_CHECK_PM were written.
3. RELEASE_NOTES was renamed as ChangeLog.
4. NEWS was added.
5. AUTHORS was added.
6. THANKS was added.
7. TODO was added.
2002-09-24
1. Compression with gzip binary is added.
2. Compress::Zlib module is now optional but not
required.
3. bzip2 compression is added.
4. File::MMagic and file are now used to check the
file type, in addition to the file name suffix,
with a more preferred order.
5. Keep this month's records is now available for
compressed source log files.
6. check_file_type() was added to check the file
types by either File::MMa
7. check_gzip() was added to check the gzip method
to use.
8. check_bzip2() was added to check the bzip2
method to use.
2002-09-18 version 2.1.0dev2
SourceForge Memorial Release. It's my first time
to apply a project from SourceForge. Mostly are
corrections to the documentation. SourceForge's
project page is added to the available download
source here.
1. arclog.pl's official home page at Tavern
IMACAT's was restored.
2. The previous version was renamed from
2.1.0-dev1 to 2.1.0dev1, in order to unify
the version number theme.
3. The project space at SourceForge was applied.
Package files are uploaded to SourceForge now.
4. Project virtual host at SourceForge was set up.
5. SourceForge was added into the documentation
as an official website and download source.
6. Documentation were corrected. Too many places
were corrected. Ignored.
7. HTML document was rewritten to accommodate
XHTML 1.1 recommendation.
2002-08-31 version 2.1.0dev1
Rewrite after almost 1 year, to be run on the
newly-released Perl 5.8.0.
1. File handles are now saved and passed in global
named variables. This is the way it should be.
The old way (initialize the file handles by
duplicate the STDIN and assign them) was just
not natural. It works in Perl 5.6.1, but not in
perl 5.8.0. The duplicated file handles are
constants, which cannot be assigned new values.
2. Indents are changed from 1 tab to 4 columns, to
accommodate the Perl style guide documented in
perlstyle(1). This increases the code
readability.
3. File operation error handlers are now using the
low-precedence logical "or", instead of "||",
which is recommended in perlop(1). Excessive
parentheses in file operation functions are
removed for this.
4. Traditional Chinese files are now named with
suffix ".zh-tw" instead of ".b5". Simplified
Chinese files are now named with suffix ".zh-cn"
instead of ".gb". This is to accommodate
RFC-3066, ISO 639:1988, ISO 3166-1 for language
names.
5. PGP signatures of distribution files are added.
6. bzip2 distribution files are added.
2001-07-18 version 2.0.6
1. A bug that regular expression cannot recognize
apache log format when a user logged in with
a username containing spaces, was solved.
2. A bug that a hyper reference in the English
document was not specified as an absolute URL,
was fixed.
2001-07-18 version 2.0.5
1. A bug that record counter $total was not
initialized at all, was fixed.
2001-07-16 version 2.0.4
1. open_src() was added, as reslog.pl, to read the
source log file by complex rules.
2. Support to reading the gzipped log file was
added.
3. Program execution message was turned from STDOUT
to STDERR.
4. Processing with Compress::Zlib was modified.
gzopen() was modified to open file handles if
possible. Return values was checked more
strictly. Source of error messages was
corrected.
2001-06-29 version 2.0.3
1. The default keep mode was changed to
"this-month".
2. The default keep mode "all" when "--keep" is
specified without mode, was added.
3. The single-letter abbreviations of the override
and keep modes were added
2001-06-29 version 2.0.2
1. A bug that won't delete the source empty file
under keep-delete mode, was fixed
2001-06-28 version 2.0.1
1. A bug that will stop executing when an empty
file is met, was fixed.
2. "none" keep mode was removed. "restart" and
"delete" keep modes were added.
3. Pre-check on empty files was added. It bounces
directly when an empty file is found in the
first sight.
4. A bug that there's no documentation on --keep
option in the HTML documents, was fixed. :p
5. The suffix of the temporary working file was
changed to ".tmp-arclog".
6. A typo of "-dhqv" instead of "options" in the
help message was fixed
2001-06-28 version 2.0.0
Temporary working file was introduced to reduce the
time working on the source log file.
1. Temporary working file was introduced. The
source log file was copied to the temporary
working file and restart first, to maximum
reduce the time occupying it, avoiding usage
of other scripts to restart the log file first.
2. A bug that, when keep status falls back to all,
wrong variable was modified, was fixed. :p
2001-06-28 version 1.6.1
1. Reuse of monthly temporary working file to
reduce the read time for multiple files.
2001-06-27 version 1.6.0
Multiple log files was added.
1. Main program codes were moved to arc_log(), to
loop multiple log files.
2001-06-11 version 1.5.1
1. A serious bug was fixed. :p I was planning to set
the memory limit dynamically but failed. And I
forgot to return the original codes, which
prevents the program from running.
2. The argument checking was modified to report
error if more than necessary arguments are
supplied.
2001-06-10 version 1.5.0
Read from STDIN was supported.
1. Read the log file from STDIN as "-" was added.
2. "--prefix" option was removed. The output prefix
was specified in the second argument.
2001-06-10 version 1.4.2dev
1. A bug while displaying log file format
checking message, was fixed.
2. Checking on log file format was moved to when
the first entry was read.
3. Checking on empty log file was moved to after
the whole file was processed.
4. rel2abs() was modified. catdir was replaced with
catfile to fixed the problem with the current
directory ".".
5. The default behavior of --override was modified.
When STDIN is linked with a tty, the default is
ask; else, the default is fail.
2001-06-09 version 1.4.1
1. English HTML document was added.
2. HTML errors in documents were fixed.
3. Some terms were modified in the documents.
4. Irrelevant languages were removed in the HTML
documents.
5. HTML document links between different languages
was added.
6. Web page was modified so that each language has
its own pages, and was linked with each other.
2001-06-08 version 1.4.0
First public release.
1. "ask" override mode was added. When the target
archived file exists, it asks the user what to
do individually.
2. "ignore" override mode wad added. When the
target archived file exists, it ignores the
records for that month, avoid overwriting the
target file.
3. "append" override mode was added. When the
target archived file exists, it appends the
records for that month to that file, for easy
merging on separated log files.
4. --sort option was added, to sort the records
in a log file by time.
5. syslog log file format was supported.
6. HTML documents in both Traditional and
Simplified Chinese were added.
7. A web page was added.
2001-06-07 version 1.3.0
Solved the long problem that old log files will be
overwrite.
1. Program flow was rewritten. The file open
routine when open an archived file at the first
time was separated, to insert handlers for
existing old archived files.
2. --override option was added, to set the
override behavior when old archived files exist.
3. Records were now saved to temporary working
files before compressing (if they would be
compressed). The compressing is done later on
the temporary working files.
4. --compress option was added to set if we should
compress the archived files.
5. Checking on write privilege of the output
directory was added.
6. A bug that rel2abs will wrongly ignore the last
part of a path when it is the current or parent
directory, was fixed.
7. File::Basename was introduced to obtain the
short basename to report on.
8. Anonymous subroutines was introduced to handle
simple options, like help messages or message
levels.
9. Compressing ratio message was added.
10. Install.PL was added in the distribution.
11. Installation guide was added.
2001-06-06 version 1.2.2
1. autoflush from IO::Handle was introduced, to
autoflush STDOUT solely under debugging mode.
2. Temporary working file method was removed. Works
are done on the source file, to avoid the
garbage when program stopped in the middle.
3. File::Temp was introduced to handle the
temporary working file. Records of this month
was outputs to temporary file at first.
4. $IS_ZIP was added to control the zipping.
5. "wb9" was introduced to zip with highest ratio.
6. Zipping size message was added.
7. format_number() was added to format the numbers.
8. GNU copyright information was added.
9. Chinese annotations was added.
10. POD documents was added.
11. Release notes was added.
12. Readme file was added.
2001-06-06 version 1.2.1
1. A serious bug that forgot to return the records
of current month, was fixed. :p
2001-06-05 version 1.2.0
1. Program flow was rewritten. Now it outputs to
the target file without gzipping first. Gzip
will be done next after finishing all outputs.
2. Message level was changed to $VERBOSE.
3. The default message level was changed to 1. The
debugging message level was changed to 2.
4. "quiet" option was added, with message level 0.
2001-06-04 version 1.1.1
1. Some typos was fixed.
2001-06-04 version 1.1.0
A serious bug of the previous version, which reads
the whole log file into memory and cause system
crash, was fixed. ^^;
1. Program flow was rewritten. Writing was done
with reading, to minimize the unnecessary memory
burden.
2. Record sorting was removed, to reduce the memory
usage.
3. %gz object hash was introduced to open multiple
gzipped file altogether.
4. Getopt::Long was introduced to parse the
arguments, in replace of my own argument-parsing
routine.
5. File::Spec::Functions was introduced to handle
the pathname, with my own rel2abs.
6. Cwd was introduced to obtain the current working
directory.
2001-01-05 version 1.0.1
Fixed some typos.
2001-01-05 version 1.0.0
First version, rewritten from reslog. Using
arguments-parsing and help/version message methods
from reslog.