/usr/share/perl5/FuzzyOcr/Logging.pm is in fuzzyocr 3.6.0-9.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | # <@LICENSE>
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to you under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# </@LICENSE>
package FuzzyOcr::Logging;
use base 'Exporter';
our @EXPORT_OK = qw(debuglog errorlog infolog warnlog logfile);
use Mail::SpamAssassin::Logger qw(log_message would_log);
use FileHandle;
use Fcntl ':flock';
use POSIX qw(strftime);
sub logfile {
my $conf = FuzzyOcr::Config::get_config();
my $logtext = $_[0];
my $time = strftime("%Y-%m-%d %H:%M:%S",localtime(time));
$logtext =~ s/\n/\n /g;
my $fname = Mail::SpamAssassin::Util::untaint_file_path($conf->{focr_logfile});
unless ( open LOGFILE, ">>", $fname ) {
warn "Can't open $conf->{focr_logfile} for writing, check permissions";
return;
}
flock( LOGFILE, LOCK_EX );
seek( LOGFILE, 0, 2 );
print LOGFILE "$time [$$] $logtext\n";
close LOGFILE;
}
sub _not_debug {
return $Mail::SpamAssassin::Logger::LOG_SA{level} != 3;
}
sub _log {
my $conf = FuzzyOcr::Config::get_config();
my $type = $_[0];
my @lines = split('\n',$_[1]);
foreach (@lines) { log_message($type,"FuzzyOcr: $_"); }
}
sub errorlog {
my $conf = FuzzyOcr::Config::get_config();
_log("error",$_[0]) if $conf->{focr_log_stderr};
if (defined $conf->{focr_logfile}) {
logfile($_[0]);
}
}
sub warnlog {
my $conf = FuzzyOcr::Config::get_config();
_log("warn",$_[0]) if $conf->{focr_log_stderr};
if (defined $conf->{focr_logfile} and ($conf->{focr_verbose} >= 1)) {
logfile($_[0]);
}
}
sub infolog {
my $conf = FuzzyOcr::Config::get_config();
unless (_not_debug()) {
_log("info",$_[0]) if $conf->{focr_log_stderr};
}
if (defined $conf->{focr_logfile} and ($conf->{focr_verbose} >= 2)) {
logfile($_[0]);
}
}
sub debuglog {
my $conf = FuzzyOcr::Config::get_config();
unless (_not_debug()) {
_log("dbg",$_[0]) if $conf->{focr_log_stderr};
}
if (defined $conf->{focr_logfile} and ($conf->{focr_verbose} >= 3)) {
logfile($_[0]);
}
}
1;
|