summaryrefslogtreecommitdiff
path: root/support/latexindent/LatexIndent/LogFile.pm
diff options
context:
space:
mode:
Diffstat (limited to 'support/latexindent/LatexIndent/LogFile.pm')
-rw-r--r--support/latexindent/LatexIndent/LogFile.pm95
1 files changed, 3 insertions, 92 deletions
diff --git a/support/latexindent/LatexIndent/LogFile.pm b/support/latexindent/LatexIndent/LogFile.pm
index 205d72031e..8a35c3c2a2 100644
--- a/support/latexindent/LatexIndent/LogFile.pm
+++ b/support/latexindent/LatexIndent/LogFile.pm
@@ -19,20 +19,10 @@ use warnings;
use FindBin;
use File::Basename; # to get the filename and directory path
use Exporter qw/import/;
-use Log::Log4perl qw(get_logger :levels);
-use Log::Log4perl::Appender::Screen;
-use Log::Dispatch::File;
-use LatexIndent::GetYamlSettings qw/%masterSettings/;
use LatexIndent::Switches qw/%switches/;
use LatexIndent::Version qw/$versionNumber $versionDate/;
our @EXPORT_OK = qw/processSwitches $logger/;
-our @logFileNotes;
-our $logger = get_logger("Document");
-
-# log file methods, using log4perl; references
-# pattern layout: http://search.cpan.org/~mschilli/Log-Log4perl-1.32/lib/Log/Log4perl/Layout/PatternLayout.pm
-# multiple appenders: https://stackoverflow.com/questions/8620347/perl-log4perl-printing-and-logging-at-the-same-time-in-a-line?rq=1
-# getting started: https://www.perl.com/pub/2002/09/11/log4perl.html
+our $logger;
sub processSwitches{
# -v switch is just to show the version number
@@ -98,7 +88,7 @@ ENDQUOTE
# if we've made it this far, the processing of switches and logging begins
my $self = shift;
- ($switches{trace}||$switches{ttrace}) ? $logger->level($TRACE): $logger->level($INFO);
+ $logger = LatexIndent::Logger->new();
# cruft directory
${$self}{cruftDirectory} = $switches{cruftDirectory}||(dirname ${$self}{fileName});
@@ -106,58 +96,6 @@ ENDQUOTE
my $logfileName = ($switches{cruftDirectory} ? ${$self}{cruftDirectory}."/" : '').($switches{logFileName}||"indent.log");
- # layout of the logfile information, for example
- #
- # 2017/09/16 11:59:09 INFO: message
- # 2017/09/16 12:23:53 INFO: LogFile.pm:156 LatexIndent::LogFile::processSwitches - message
- # reference: https://stackoverflow.com/questions/46262844/log4perl-grouping-messages/46309392#46309392
- Log::Log4perl::Layout::PatternLayout::add_global_cspec(
- 'A', sub {
- if($_[1] =~ /^\*/){
- $_[1]=~s/^\*//;
- if($_[1]=~m/\R/s){
- my $indentation = ' '.(' ' x length $_[3]);
- $_[1] =~ s/\R/\n$indentation/gs;
- }
- return "$_[3]: ".$_[1];
- } else {
- my $indentation = ' '.(' ' x length $_[3]);
- $_[1] =~ s/\R/\n$indentation/gs if($_[1]=~m/\R/s);
- return $indentation.$_[1];
- }
- });
-
- my $layout = Log::Log4perl::Layout::PatternLayout->new("%A%n");
-
- # details for the Log4perl logging
- my $appender = Log::Log4perl::Appender->new(
- "Log::Dispatch::File",
- filename => $logfileName,
- mode => "write",
- utf8 => 1,
- );
-
- # add the layout
- $appender->layout($layout);
-
- # adjust the logger object
- $logger->add_appender($appender);
-
- # appender object for output to screen
- my $appender_screen = q();
-
- # output to screen, if appropriate
- if($switches{screenlog}){
- $appender_screen = Log::Log4perl::Appender->new(
- "Log::Log4perl::Appender::Screen",
- stderr => 1,
- utf8 => 1,
- );
-
- $appender_screen->layout($layout);
- $logger->add_appender($appender_screen);
- }
-
# details of the script to log file
$logger->info("*$FindBin::Script version $versionNumber, $versionDate, a script to indent .tex files");
$logger->info("$FindBin::Script lives here: $FindBin::RealBin/");
@@ -207,7 +145,7 @@ ENDQUOTE
# output location of modules
if($FindBin::Script eq 'latexindent.pl' or ($FindBin::Script eq 'latexindent.exe' and $switches{trace} )) {
- my @listOfModules = ('FindBin', 'YAML::Tiny', 'File::Copy', 'File::Basename', 'Getopt::Long','File::HomeDir','Unicode::GCString','Log::Log4perl');
+ my @listOfModules = ('FindBin', 'YAML::Tiny', 'File::Copy', 'File::Basename', 'Getopt::Long','File::HomeDir','Unicode::GCString');
$logger->info("*Perl modules are being loaded from the following directories:");
foreach my $moduleName (@listOfModules) {
(my $file = $moduleName) =~ s|::|/|g;
@@ -221,33 +159,6 @@ ENDQUOTE
# read the YAML settings
$self->yaml_read_settings;
- # the user may have specified their own settings for the rest of the log file,
- # for example:
- #
- # logFilePreferences:
- # PatternLayout:
- # default: "%p: %m{indent}%n"
- # trace: "%p: %m{indent}%n"
- # ttrace: "%d %p: %F{1}:%L %M - %m{indent}%n"
- #
- # e.g, default mode:
- # 2017/09/16 11:59:09 INFO: message
- # or trace mode:
- # 2017/09/16 11:59:09 INFO: message
- # or in trace mode:
- # 2017/09/16 12:23:53 INFO: LogFile.pm:156 LatexIndent::LogFile::processSwitches - message
- my $pattern = q();
- if($switches{ttrace}){
- $pattern = ${${$masterSettings{logFilePreferences}}{PatternLayout}}{ttrace};
- } elsif($switches{trace}){
- $pattern = ${${$masterSettings{logFilePreferences}}{PatternLayout}}{trace};
- } else {
- $pattern = ${${$masterSettings{logFilePreferences}}{PatternLayout}}{default};
- }
- $layout = Log::Log4perl::Layout::PatternLayout->new($pattern);
- $appender->layout($layout);
-
- $appender_screen->layout($layout) if $switches{screenlog};
return;
}