View | Details | Raw Unified | Return to bug 25464
Collapse All | Expand All

(-)a/C4/SIP/SIPServer.pm (+8 lines)
Lines 105-110 sub process_request { Link Here
105
    $self->{account} = undef;  # Clear out the account from the last request, it may be different
105
    $self->{account} = undef;  # Clear out the account from the last request, it may be different
106
    $self->{logger} = set_logger( Koha::Logger->get( { interface => 'sip' } ) );
106
    $self->{logger} = set_logger( Koha::Logger->get( { interface => 'sip' } ) );
107
107
108
    # Flush previous MDCs to prevent accidentally leaking incorrect MDC-entries
109
    Koha::Logger->put_mdc( "accountid", undef );
110
    Koha::Logger->put_mdc( "peeraddr",  undef );
111
108
    my $sockname = getsockname(STDIN);
112
    my $sockname = getsockname(STDIN);
109
113
110
    # Check if socket connection is IPv6 before resolving address
114
    # Check if socket connection is IPv6 before resolving address
Lines 179-184 sub raw_transport { Link Here
179
        )
183
        )
180
    );
184
    );
181
185
186
    # Set MDCs after properly authenticating
187
    Koha::Logger->put_mdc( "accountid", $self->{account}->{id} );
188
    Koha::Logger->put_mdc( "peeraddr",  $self->{server}->{peeraddr} );
189
182
    siplog("LOG_DEBUG", "raw_transport: uname/inst: '%s/%s'",
190
    siplog("LOG_DEBUG", "raw_transport: uname/inst: '%s/%s'",
183
        $self->{account}->{id},
191
        $self->{account}->{id},
184
        $self->{account}->{institution});
192
        $self->{account}->{institution});
(-)a/Koha/Logger.pm (+29 lines)
Lines 71-76 sub get { Link Here
71
    return $self;
71
    return $self;
72
}
72
}
73
73
74
=head2 put_mdc
75
76
my $foo = $logger->put_mdc('foo', $foo );
77
78
put_mdc sets global thread specific data that can be access later when generating log lines
79
via the "%X{key}" placeholder in Log::Log4perl::Layout::PatternLayouts.
80
81
=cut
82
83
sub put_mdc {
84
    my ( $self, $key, $value ) = @_;
85
86
    Log::Log4perl::MDC->put( $key, $value );
87
}
88
89
=head2 get_mdc
90
91
my $foo = $logger->get_mdc('foo');
92
93
Retrieves the stored mdc value from the stored map
94
95
=cut
96
97
sub get_mdc {
98
    my ( $self, $key ) = @_;
99
100
    return Log::Log4perl::MDC->get( $key );
101
}
102
74
=head1 INTERNALS
103
=head1 INTERNALS
75
104
76
=head2 AUTOLOAD
105
=head2 AUTOLOAD
(-)a/debian/koha-common.postinst (-1 / +1 lines)
Lines 182-188 log4perl.appender.SIP=Log::Log4perl::Appender::File Link Here
182
log4perl.appender.SIP.filename=/var/log/koha/$site/sip.log
182
log4perl.appender.SIP.filename=/var/log/koha/$site/sip.log
183
log4perl.appender.SIP.mode=append
183
log4perl.appender.SIP.mode=append
184
log4perl.appender.SIP.layout=PatternLayout
184
log4perl.appender.SIP.layout=PatternLayout
185
log4perl.appender.SIP.layout.ConversionPattern=[%d] [%p] %m %l %n
185
log4perl.appender.SIP.layout.ConversionPattern=[%d] [%p] %X{accountid}@%X{peeraddr}: %m %l %n
186
log4perl.appender.SIP.utf8=1
186
log4perl.appender.SIP.utf8=1
187
187
188
EOF
188
EOF
(-)a/debian/templates/log4perl-site.conf.in (-1 / +1 lines)
Lines 35-39 log4perl.appender.SIP=Log::Log4perl::Appender::File Link Here
35
log4perl.appender.SIP.filename=__LOG_DIR__/sip.log
35
log4perl.appender.SIP.filename=__LOG_DIR__/sip.log
36
log4perl.appender.SIP.mode=append
36
log4perl.appender.SIP.mode=append
37
log4perl.appender.SIP.layout=PatternLayout
37
log4perl.appender.SIP.layout=PatternLayout
38
log4perl.appender.SIP.layout.ConversionPattern=[%d] [%p] %m %l %n
38
log4perl.appender.SIP.layout.ConversionPattern=[%d] [%p] %X{accountid}@%X{peeraddr}: %m %l %n
39
log4perl.appender.SIP.utf8=1
39
log4perl.appender.SIP.utf8=1
(-)a/etc/log4perl.conf (-1 / +1 lines)
Lines 35-39 log4perl.appender.SIP=Log::Log4perl::Appender::File Link Here
35
log4perl.appender.SIP.filename=__LOG_DIR__/sip.log
35
log4perl.appender.SIP.filename=__LOG_DIR__/sip.log
36
log4perl.appender.SIP.mode=append
36
log4perl.appender.SIP.mode=append
37
log4perl.appender.SIP.layout=PatternLayout
37
log4perl.appender.SIP.layout=PatternLayout
38
log4perl.appender.SIP.layout.ConversionPattern=[%d] [%p] %m %l %n
38
log4perl.appender.SIP.layout.ConversionPattern=[%d] [%p] %X{accountid}@%X{peeraddr}: %m %l %n
39
log4perl.appender.SIP.utf8=1
39
log4perl.appender.SIP.utf8=1
(-)a/t/Logger.t (-3 / +10 lines)
Lines 26-32 use Test::More tests => 1; Link Here
26
use Test::Warn;
26
use Test::Warn;
27
27
28
subtest 'Test01 -- Simple tests for Koha::Logger' => sub {
28
subtest 'Test01 -- Simple tests for Koha::Logger' => sub {
29
    plan tests => 6;
29
    plan tests => 9;
30
30
31
    my $ret;
31
    my $ret;
32
    t::lib::Mocks::mock_config('log4perl_conf', undef);
32
    t::lib::Mocks::mock_config('log4perl_conf', undef);
Lines 52-58 HERE Link Here
52
    ok( $@, 'Logger did not init correctly without permission');
52
    ok( $@, 'Logger did not init correctly without permission');
53
53
54
    system("chmod 700 $log");
54
    system("chmod 700 $log");
55
    my $logger= Koha::Logger->get({ interface => 'intranet' });
55
    my $logger = Koha::Logger->get( { interface => 'intranet' } );
56
    is( exists $logger->{logger}, 1, 'Log4perl config found');
56
    is( exists $logger->{logger}, 1, 'Log4perl config found');
57
    is( $logger->warn('Message 1'), 1, '->warn returned a value' );
57
    is( $logger->warn('Message 1'), 1, '->warn returned a value' );
58
    warning_is { $ret = $logger->catastrophe }
58
    warning_is { $ret = $logger->catastrophe }
Lines 60-65 HERE Link Here
60
               "Undefined method raises warning";
60
               "Undefined method raises warning";
61
    is( $ret, undef, "'catastrophe' method undefined");
61
    is( $ret, undef, "'catastrophe' method undefined");
62
62
63
    Koha::Logger->put_mdc( 'foo', 'bar' );
64
    is( Koha::Logger->get_mdc('foo'), 'bar', "MDC value via put is correct" );
65
66
    Koha::Logger->put_mdc( 'foo', 'baz' );
67
    is( Koha::Logger->get_mdc('foo'), 'baz', "Updated MDC value via put is correct" );
68
69
    Koha::Logger->put_mdc( 'foo', undef );
70
    is( Koha::Logger->get_mdc('foo'), undef, "Updated MDC value to undefined via put is correct" );
63
};
71
};
64
72
65
sub mytempfile {
73
sub mytempfile {
66
- 

Return to bug 25464