state $stub = make_test_sub();
$stub->();
},
JSON => sub {
local $Parse::Syslog::Line::AutoDetectJSON = 1;
state $stub = make_test_sub();
$stub->();
);
$stub->();
},
AutoSDATA => sub {
local $Parse::Syslog::Line::AutoDetectJSON = 1;
local $Parse::Syslog::Line::AutoDetectKeyValues = 1;
state $stub = make_test
qw(-no_match_vars);
use Exporter;
use Hash::Merge::Simple qw( dclone_merge );
use JSON::MaybeXS qw( decode_json );
use Module::Load qw( load );
use Module::Loaded qw( is_loaded );
u
PREREQ: Cpanel::JSON::XS
our $VERSION = '6.2';
# Default for Handling Parsing
our $DateParsing = 1;
our $EpochCreate = 1;
our $ExtractProgram = 1;
our $AutoDetectJSON = 0;
our $A
my ($raw_string) = @_;
# State Variables
state $DateTimeTried = 0;
state $CpanelJSONXSWarning = 0;
state $DisableWarnings = $ENV{PARSE_SYSLOG_LINE_QUIET} || $ENV{TEST_ACTIVE} ||
ive;
use Pod::Usage;
use JSON::MaybeXS;
use Parse::Syslog::Line;
use YAML::XS;
my $enc;
my %formats = (
print => sub { p($_[0]) },
json => sub {
$enc ||= JSON->new->utf8->canonical;
printf "%s\n", $enc->encode($_[0]);
},
pretty => sub {
$enc ||= JSON->new->utf8->canonical->pretty;
print $enc->encode($_[0]);
},
yaml => sub {
print Y
t|ddp' => 'Format with Data::Printer' ],
[ 'json|jq|j' => 'Format as JSON, minified' ],
[ pretty => 'Format as JSON, pretty' ],
[ 'yaml|yml' => 'Format as YAM