#!/usr/bin/perl use 5.018; use Log::Dispatch::FileRotate; use Log::Log4perl qw/:easy :no_extra_logdie_message/; use strict; use warnings; local $/ = undef; Log::Log4perl::init(\); local $| = 1; INFO("LOG 1: Sleep for 61 seconds"); for ( 1 .. 61 ) { print "\b\b$_"; sleep 1; } INFO("LOG 2: Done"); 1; __DATA__ # Layout for logging # [Date] [Priority] [File::Caller] [Line Number] > Message \n layout_pattern = [%d{yyyy-MM-ddTHH:mm:ss}] [%p] [%F{1}::%M] [%L] > %m %n ## ## LOGGERS ## log4perl.logger = INFO, LogRotate # Logging to file # - Rotates every minute # - Last 8 minutes kept # (Only INFO level priority and higher messages are logged to file) log4perl.appender.LogRotate.layout.ConversionPattern = ${layout_pattern} log4perl.appender.LogRotate = Log::Dispatch::FileRotate log4perl.appender.LogRotate.filename = Timed_Rotate.log log4perl.appender.LogRotate.layout = Log::Log4perl::Layout::PatternLayout log4perl.appender.LogRotate.max = 8 log4perl.appender.LogRotate.mode = append log4perl.appender.LogRotate.DatePattern = yyyy-MM-dd-HH-MM