درود
بله، در وردپرس میتوانید لاگهای مربوط به کوئریها و تراکنشها را ثبت کنید و برای سازمان نظارت ارائه دهید. چند روش برای انجام این کار وجود دارد:
۱. استفاده از افزونههای ثبت لاگ در وردپرس
افزونههایی مانند WP Activity Log، Query Monitor و WP Log Viewer میتوانند کوئریهای پایگاه داده و تغییرات را ثبت کنند. برخی از این افزونهها امکان خروجی گرفتن از لاگها را هم دارند.
۲. فعالسازی لاگهای وردپرس
میتوانید قابلیت WP_DEBUG_LOG را فعال کنید تا لاگهای وردپرس در فایل wp-content/debug.log
ثبت شوند. برای این کار، خط زیر را به wp-config.php
اضافه کنید:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('log_errors', 1);
این کار باعث میشود خطاها و کوئریهای ثبتشده را در یک فایل مشاهده کنید.
۳. مانیتورینگ مستقیم کوئریها با MySQL
اگر به سطح پیشرفتهتری نیاز دارید، میتوانید با استفاده از MySQL Logging کوئریهای اجرا شده را ذخیره کنید:
SET GLOBAL general_log = 'ON';
SET GLOBAL log_output = 'TABLE';
و سپس با دستور زیر لاگها را مشاهده کنید:
SELECT * FROM mysql.general_log;
۴. ثبت دستی کوئریها در لاگ
اگر نیاز دارید که فقط کوئریهای خاصی ثبت شوند، میتوانید از فیلتر query
در وردپرس استفاده کنید:
add_filter('query', function($query) {
error_log($query);
return $query;
});
این کد همه کوئریها را در error_log
ثبت میکند.
اگر نیاز دارید کوئریها را با جزئیات دقیق به سازمان نظارت ارائه دهید، بهترین روش استفاده از Query Monitor یا فعالسازی MySQL Logging است. اگر خواستید خروجی را به صورت CSV یا JSON بگیرید، میتوانیم روشهایی برای استخراج دادهها هم معرفی کنیم.