This file is indexed.

/usr/share/perl5/Log/Log4perl/JavaMap/RollingFileAppender.pm is in liblog-log4perl-perl 1.29-1ubuntu1.

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
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
package Log::Log4perl::JavaMap::RollingFileAppender;

use Carp;
use strict;
use Log::Dispatch::FileRotate 1.10;


sub new {
    my ($class, $appender_name, $data) = @_;
    my $stderr;

    my $filename =  $data->{File}{value} || 
                $data->{filename}{value} || 
                die "'File' not supplied for appender '$appender_name', required for a '$data->{value}'\n";

    my $mode;
    if (defined($data->{Append}{value})){
        if (lc $data->{Append}{value} eq 'true' || $data->{Append}{value} == 1){
            $mode = 'append';
        }elsif (lc $data->{Append}{value} eq 'false' || $data->{Append}{value} == 0) {
            $mode = 'write';
        }elsif($data->{Append} =~ /^(write|append)$/){
            $mode = $data->{Append}
        }else{
            die "'$data->{Append}' is not a legal value for Append for appender '$appender_name', '$data->{value}'\n";
        }
    }else{
        $mode = 'append';
    }

    my $autoflush;
    if (defined($data->{BufferedIO}{value})){
        if (lc $data->{BufferedIO}{value} eq 'true' || $data->{BufferedIO}{value}){
            $autoflush = 1;
        }elsif (lc $data->{BufferedIO}{value} eq 'true' || ! $data->{BufferedIO}{value}) {
            $autoflush = 0;
        }else{
            die "'$data->{BufferedIO}' is not a legal value for BufferedIO for appender '$appender_name', '$data->{value}'\n";
        }
    }else{
        $autoflush = 1;
    }

    my $max;
    if (defined $data->{MaxBackupIndex}{value}) {
        $max = $data->{MaxBackupIndex}{value};
    }elsif (defined $data->{max}{value}){
        $max = $data->{max}{value};
    }else{
        $max = 1;

    }

    my $size;
    if (defined $data->{MaxFileSize}{value}) {
        $size = $data->{MaxFileSize}{value}
    }elsif (defined $data->{size}{value}){
        $size = $data->{size}{value};
    }else{
        $size = 10_000_000;
    }


    return Log::Log4perl::Appender->new("Log::Dispatch::FileRotate",
        name      => $appender_name,
        filename  => $filename,
        mode      => $mode,
        autoflush => $autoflush,
        size      => $size,
        max       => $max,
    );
}

1;

=head1 NAME

Log::Log4perl::JavaMap::RollingFileAppender - wraps Log::Dispatch::FileRotate

=head1 SYNOPSIS


=head1 DESCRIPTION

This maps log4j's RollingFileAppender to Log::Dispatch::FileRotate 
by Mark Pfeiffer, <markpf@mlp-consulting.com.au>.

Possible config properties for log4j ConsoleAppender are 

    File
    Append      "true|false|1|0" default=true
    BufferedIO  "true|false|1|0" default=false (i.e. autoflush is on)
    MaxFileSize default 10_000_000
    MaxBackupIndex default is 1

Possible config properties for Log::Dispatch::FileRotate are

    filename
    mode  "write|append"
    autoflush 0|1
    size
    max

=head1 SEE ALSO

http://jakarta.apache.org/log4j/docs/

Log::Log4perl::Javamap

=head1 COPYRIGHT AND LICENSE

Copyright 2002-2009 by Mike Schilli E<lt>m@perlmeister.comE<gt> 
and Kevin Goess E<lt>cpan@goess.orgE<gt>.

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself. 

=cut