The version of Apache log4j used by SoundHelix.
Clone
HTTPS:
git clone https://vervis.peers.community/repos/aEp6o
SSH:
git clone USERNAME@vervis.peers.community:aEp6o
Branches
Tags
- 1.3alpha-7
- CHAINSAW_2_SANDBOX_MERGE
- CORE_VERSION
- LEVEL_REPLACES_PRIORITY
- PREALPHA_1_3_AS_OF_2004_05_12
- PRE_CHAINSAW_MODEL_CONVERSION
- PRE_UGLI_MOVE
- TAG_CHAINSAW2_MOVE
- log4j-1.2.17
- log4j-1.2.17-rc1
- v1.3alpha8
- v1.3alpha8-temp
- v1_2_1
- v1_2_10-recalled
- v1_2_11
- v1_2_11_rc1
- v1_2_11rc3
- v1_2_12
- v1_2_12_rc1
- v1_2_12_rc2
- v1_2_12_rc3
- v1_2_12_rc4
- v1_2_12_rc5
- v1_2_12_rc6
- v1_2_13
- v1_2_13_rc1
- v1_2_13_rc2
- v1_2_13_site_update
- v1_2_14
- v1_2_14_maven
- v1_2_14_rc1
- v1_2_14_site_update
- v1_2_15
- v1_2_15_rc1
- v1_2_15_rc2
- v1_2_15_rc3
- v1_2_15_rc4
- v1_2_15_rc5
- v1_2_15_rc6
- v1_2_16
- v1_2_16_rc1
- v1_2_16_rc2
- v1_2_17
- v1_2_17-rc1
- v1_2_17_rc1
- v1_2_17_rc2
- v1_2_17_rc3
- v1_2_2
- v1_2_3
- v1_2_4
- v1_2_6
- v1_2_7
- v1_2_9
- v1_2_alpha0
- v1_2_alpha7
- v1_2beta1
- v1_2final
- v1_3alpha_1
- v1_3alpha_6
- v_1_0
- v_1_0_1
- v_1_0_4
- v_1_1
- v_1_1_1
- v_1_1_2
- v_1_1_3
- v_1_1_b1
- v_1_1b2
- v_1_1b3
- v_1_1b5
- v_1_1b6
- v_1_1b7
- v_1_2beta3
udpserver.pl
#!/opt/perl5/bin/perl -w
#
# 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.
use strict;
use Socket;
use IO::Socket;
use Sys::Hostname;
main();
exit(0);
sub main()
{
my $MAX_MSG_SIZE = 16384; # 16KBytes should be enough...
my $svrport = 8300;
my $svriaddr = gethostbyname(hostname());
my $svrproto = getprotobyname('udp');
my $svrpaddr = sockaddr_in($svrport, $svriaddr);
socket(SOCKET, PF_INET, SOCK_DGRAM, $svrproto) || die "socket: $!";
bind(SOCKET, $svrpaddr) || die "bind: $!";
my $rin = '';
vec($rin, fileno(SOCKET), 1) = 1;
# timeout after 10.0 seconds
# at some time, I'm going to add signal handlers so that signals can be
# sent to cause logfile rollover, or tidy exit...then the timeout will
# come in useful..
my $exit = 0;
while (!$exit)
{
my $rout = $rin;
# select(readvec, writevec, exceptionvec, timeout)
# : returns # of selected filehandles, modifies
# vector parameters so that set bits indicate
# filehandles which are readable, writable or have
# an exception state
my $nSelected = select($rout, undef, undef, 10.0);
if ($nSelected == 0)
{
# timedout : go back to start of loop
next;
}
my $msgData = '';
my $clientpaddr = recv(SOCKET, $msgData, $MAX_MSG_SIZE, 0);
if (!$clientpaddr)
{
die "recv: $!";
}
my ($clientport, $clientiaddr) = sockaddr_in($clientpaddr);
my $clienthost = gethostbyaddr($clientiaddr, AF_INET);
if (!$clienthost)
{
# unable to determine name for client : show raw ip address
$clienthost = inet_ntoa($clientiaddr);
}
print "$clienthost:$msgData\n";
}
}