package LatexIndent::Logger; # 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 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # See http://www.gnu.org/licenses/. # # Chris Hughes, 2017 # # For all communication, please visit: https://github.com/cmhughes/latexindent.pl use strict; use warnings; use Exporter; use LatexIndent::Switches qw/%switches/; our @ISA = "LatexIndent::Document"; # class inheritance, Programming Perl, pg 321 our @EXPORT_OK = qw/@logFileLines/; our @logFileLines; sub info{ my $self = shift; my $logfileline = shift; if ($logfileline =~ m/^\*/s){ $logfileline =~ s/^\*/INFO: /s; $logfileline =~ s/^/ /mg; $logfileline =~ s/^\h+INFO/INFO/s; } else { $logfileline =~ s/^/ /mg; } push(@logFileLines,$logfileline); print $logfileline,"\n" if $switches{screenlog}; } sub warn{ my $self = shift; my $logfileline = shift; if ($logfileline =~ m/^\*/s){ $logfileline =~ s/^\*/WARN: /s } else { $logfileline =~ s/^/ /mg; } push(@logFileLines,$logfileline); print $logfileline,"\n" if $switches{screenlog}; } sub fatal{ my $self = shift; my $logfileline = shift; if ($logfileline =~ m/^\*/s){ $logfileline =~ s/^\*/FATAL /s; $logfileline =~ s/^/ /mg; $logfileline =~ s/^\h+FATAL/FATAL/s; } else { $logfileline =~ s/^/ /mg; } push(@logFileLines,$logfileline); print $logfileline,"\n"; } sub trace{ my $self = shift; my $logfileline = shift; if ($logfileline =~ m/^\*/s){ $logfileline =~ s/^\*/TRACE: /s } else { $logfileline =~ s/^/ /mg; } push(@logFileLines,$logfileline); print $logfileline,"\n" if $switches{screenlog}; } 1;