autoship_log_entry (function)
(src/logger.php) Used to add log files to the Autoship Log. Takes the source for the entry ($context) and the Log message ($message) as parameters.
Function
/**
* Add a log entry.
*
* @param string $context The source or context for the entry
* @param string $message Log message.
*/
function autoship_log_entry( $context, $message ){
// Allow logging to be performed separately when Autoship Logging turned off.
do_action( 'autoship_before_log_entry', $context, $message );
if ( !apply_filters( 'autoship_log_entry', true, $context, $message ) )
return true;
// Allow adjustments to when the log files are cleaned up.
// Allows outside management like with a scheduled task ( i.e. WP Cron job )
if ( apply_filters( 'autoship_clean_logger_files', true ) ){
$keep_count = autoship_get_logs_keep_count();
autoship_keep_latest_log_files( $keep_count );
}
$logfilename = autoship_get_log_filename();
$path = trailingslashit( autoship_get_logs_directory() );
$time = date_i18n( 'm-d-Y @ H:i:s' );
$entry = "[{$time}] {$context} - {$message}";
// Check for the Log Directory and Make it if it doesn't exist.
if ( !autoship_maybe_setup_log_directory() )
return false;
// Open / Create the Log File
$log_file = fopen( $path . $logfilename, 'a');
if ( !$log_file ) {
error_log( sprintf( 'Autoship Logger Exception: Failed to create or open the log file %s.', $logfilename ) );
return false;
}
fwrite( $log_file, $entry . "\n" );
fclose( $log_file );
// Allow for email and other actions after a log entry has been added.
do_action( 'autoship_after_log_entry', $time, $entry, $context, $message );
return true;
}