feat: add structured file-based logging with admin log viewer
- New WooList_Logger class writes to wp-content/uploads/woolist-logs/woolist.log
- INFO level: subscription events, test connection results (always recorded)
- ERROR level: API failures, config problems (always recorded + php error_log fallback)
- DEBUG level: full request URLs (password redacted), raw responses, step-by-step
flow (only when "Enable debug logging" is checked in settings)
- Auto-rotates at 1 MB; log directory protected by .htaccess
- API class: logs every request URL (redacted) and raw response body at DEBUG,
errors at ERROR; subscribe_email_to_list logs each step (lookup/create/add)
- Hooks class: logs hook fire, skip reasons, and sync intent at DEBUG/INFO/ERROR
- Shortcode class: logs AJAX submissions, coupon generation, and failures
- Admin: new Logging section with "Enable debug logging" checkbox;
log viewer textarea (last 300 lines, dark theme) + Clear Log button
both visible at bottom of WooCommerce → Settings → phpList tab
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -42,6 +42,9 @@ function woolist_check_woocommerce() {
|
||||
function woolist_init() {
|
||||
load_plugin_textdomain( 'woolist-phplist', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
|
||||
|
||||
require_once WOOLIST_PATH . 'includes/class-woolist-logger.php';
|
||||
WooList_Logger::init();
|
||||
|
||||
if ( ! woolist_check_woocommerce() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user