use Meta::Portal; use Plack::Builder; use Plack::Middleware::AccessLog::Structured; use Plack::Middleware::RequestId; use Data::GUID; my $app = Meta::Portal->to_app; builder { enable 'RequestId', id_generator => sub { Data::GUID->new->as_string; }; enable 'AccessLog::Structured', callback => sub { my ($env, $message) = @_; #use Data::Dumper; #warn Dumper $env; $message->{date} = Time::Moment->from_epoch( delete $message->{epochtime} )->strftime('%F %T%6f'); $message->{tracking_id} //= $env{'psgix.request_id'}; return $message; }; $app; };