Automattic\WooCommerce\Internal\Logging

OrderLogsCleanupHelper::cleanup_old_log_filesprivateWC 1.0

Delete place-order-debug-* log files from the filesystem.

Method of the class: OrderLogsCleanupHelper{}

No Hooks.

Returns

null. Nothing (null).

Usage

// private - for code of main (parent) class only
$result = $this->cleanup_old_log_files( $max_age ): void;
$max_age(int) (required)
Maximum age in seconds before a file is eligible for deletion.

OrderLogsCleanupHelper::cleanup_old_log_files() code WC 10.8.1

private function cleanup_old_log_files( int $max_age ): void {
	if ( \Automattic\WooCommerce\Utilities\LoggingUtil::get_default_handler() !== \Automattic\WooCommerce\Internal\Admin\Logging\LogHandlerFileV2::class ) {
		return;
	}

	$file_controller = wc_get_container()->get( \Automattic\WooCommerce\Internal\Admin\Logging\FileV2\FileController::class );
	$files           = $file_controller->get_files(
		array(
			'source'      => 'place-order-debug',
			'date_filter' => 'modified',
			'date_start'  => 1,
			'date_end'    => time() - $max_age,
			'per_page'    => self::MAX_FILES_PER_RUN,
		)
	);

	if ( ! is_array( $files ) ) {
		return;
	}

	foreach ( $files as $file ) {
		$file->delete();
	}
}