File: /var/www/delta/wp-content/plugins/sitepress-multilingual-cms/classes/utilities/DebugLog.php
<?php
namespace WPML\Utilities;
class DebugLog implements \IWPML_Backend_Action, \IWPML_AJAX_Action, \IWPML_REST_Action {
	public static $trace;
	public function add_hooks() {
		if ( ! defined( 'WPML_DEBUG_LOG' ) || ! WPML_DEBUG_LOG ) {
			return;
		}
		add_action( 'shutdown', [$this, 'onShutdown'] );
	}
	public static function storeBackTrace() {
		if ( ! defined( 'WPML_DEBUG_LOG' ) || ! WPML_DEBUG_LOG ) {
			return;
		}
		$log_entry = sprintf(
			"%s [WPML Logs] - Req [%s] - URI [%s] - Message: %s",
			time(),
			$_SERVER['REQUEST_METHOD'] ?? '',
			$_SERVER['REQUEST_URI'] ?? '',
			print_r(debug_backtrace(0, 25), true)
		);
		static::$trace[] = $log_entry;
	}
	public function onShutdown() {
		if ( ! static::$trace ) {
			return;
		}
		$fp = fopen(is_string( constant( 'WPML_DEBUG_LOG' ) ) ? constant( 'WPML_DEBUG_LOG' ) : ABSPATH . 'debug.wpml.log', 'a+');
		if ( ! $fp ) {
			return;
		}
		fwrite( $fp, implode("\r\n ", static::$trace ) . PHP_EOL );
		fclose($fp);
	}
}