- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
Theo dõi lỗi trong PHP có thể đôi khi gặp khó khăn, nhưng WordPress và WooCommerce có tích hợp hệ thống logging giúp bạn theo dõi lịch sử lỗi dễ dàng hơn. Dưới đây là một số phương cách để bật theo dõi log trong woocommerce:
WP_Debug logs
Trước tiên, bạn cần bật wp_debug và bản ghi logs trong file wp-config.php. Điều này sẽ tạo ra một file debug.log trong thư mục wp-content của bạn, sau đó bạn có thể xem các lỗi trên web nếu có. Thêm/sửa các dòng sau trong file wp-config.php:
// Enable WP_DEBUG mode define('WP_DEBUG', true); // Enable Debug logging to the /wp-content/debug.log file define('WP_DEBUG_LOG', true); // Disable display of errors and warnings define('WP_DEBUG_DISPLAY', false); @ini_set('display_errors',0);
Sau đó, bạn có thể in giá trị biến hoặc hàm đến phần logs của WordPress. Ví dụ:
Để xem nội dung của các biến, sử dụng mã sau:
error_log( 'In ' . __FUNCTION__ . '(), REPLACE_WITH_VARIABLE_NAME = ' . var_export( $REPLACE_WITH_VARIABLE_NAME , true ) );
Để tìm ra hàm nào đang sử dụng / gọi đến nó:
error_log( 'In ' . __FUNCTION__ . '(), backtrace = ' . print_r(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS), true));
WC Logs
Trong các phiên bản trước của WooCommerce, các bản ghi lỗi là một chút đau để truy cập. Bạn phải có quyền truy cập FTP vào máy chủ của bạn và lấy các tập tin theo cách này thay vì thông qua quản trị WordPress của bạn. Vì bạn đang thường gặp phải vấn đề khi bạn đang sử dụng WooCommerce, nó làm cho tinh thần để có thông tin này … tốt, trong WooCommerce.
Để truy cập vào dữ liệu logs một cách dễ dàng từ bảng điều khiển WP, bạn có thể ghi log vào đối tượng WC_Logger. Từ đó, bạn có thể truy cập các bản ghi lỗi bằng cách vào WooCommerce > System Status > Logs.
Sau đó bạn có thể chọn các tập tin log cần xem và bấm “View” . Điều này sẽ cung cấp cho bạn mọi thông tin lỗi mà bạn có thể sao chép và chia sẻ thông tin hữu ích này cho nhóm hỗ trợ của bạn. Các bản ghi lỗi cũng nằm trong thư mục uploads/wc-logs
trên trang wordpress của bạn.
Ví dụ chúng ta sẽ lưu log mới bằng đoạn code dưới đây:
// Log any exceptions to a WC logger $log = new WC_Logger(); $log_entry = print_r( $e, true ); $log_entry .= 'Exception Trace: ' . print_r( $e->getTraceAsString(), true ); $log->add( 'new-woocommerce-log-name', $log_entry );
Với phiên bản WooCommerce 2.7 3.0, logs có thể được nhóm lại theo bối cảnh và mức độ nghiêm trọng. Ví dụ:
$logger = wc_get_logger(); $logger->debug( 'debug message', array( 'source' => 'my-extension' ) );
Nếu bạn thích bài viết này, hãy ủng hộ chúng tôi bằng cách đăng ký nhận bài viết mới ở bên dưới và đừng quên chia sẻ kiến thức này với bạn bè của bạn nhé. Bạn cũng có thể theo dõi blog này trên Twitter và Facebook
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype