liblog-log4perl-appender-gr.../scripts/log.pl

72 lines
1.7 KiB
Perl

#!/usr/bin/env perl
# run with $ GLOG="yourglogserver" perl scripts/log.pl
use strict;
use warnings;
use Curses::UI;
use Data::Dumper;
use JSON::Tiny qw(encode_json);
use Data::Faker;
use Log::Log4perl;
use Log::Log4perl::DataDumper;
use Log::Log4perl::Appender::ScreenColoredLevels;
use Log::Log4perl::Appender::Graylog;
use Log::Log4perl::Layout::PatternLayout;
use Log::Log4perl::Layout::SimpleLayout;
use Log::Log4perl::Layout::NoopLayout;
my $config = <<"END";
log4perl.logger = DEBUG, SERVER, Screen
log4perl.appender.Screen = Log::Log4perl::Appender::ScreenColoredLevels
log4perl.appender.Screen.color.DEBUG=bold blue
log4perl.appender.Screen.stderr = 1
log4perl.appender.Screen.stdout = 0
log4perl.appender.Screen.layout = Log::Log4perl::Layout::PatternLayout
log4perl.appender.Screen.layout.ConversionPattern = [%d] [%-5p] [%c %X{IP}] %m%n
log4perl.appender.Screen.utf8 = 1
log4perl.appender.SERVER = Log::Log4perl::Appender::Graylog
log4perl.appender.SERVER.layout = NoopLayout
log4perl.appender.SERVER.PeerAddr = $ENV{'GLOG'}
log4perl.appender.SERVER.PeerPort = 12201
log4perl.appender.SERVER.Gzip = 1
log4perl.appender.SERVER.Chunked = wan
END
Log::Log4perl->reset();
Log::Log4perl->init_once(\$config);
my $log = Log::Log4perl->get_logger("meh");
Log::Log4perl::DataDumper::override( $log, 0);
my $faker = Data::Faker->new();
use List::Util 'shuffle';
my @methods = $faker->methods;
while(1)
{
my %data;
@methods = shuffle @methods;
for (@methods)
{
$data{$_} = $faker->$_();
}
my $l = {};
$l->{'json'} = encode_json(\%data);
$l->{'dumper'} = Dumper(%data);
$l->{raw} = \%data;
$log->debug($l);
sleep(2);
$log->info($faker->name);
sleep(2);
}