// 쿼리 내용 로깅 함수
function log_queries( $query ) {
global $wpdb;
$wpdb->query_log[] = $query;
return $query;
}
// 쿼리 영역 상단 전개 함수
function log_queries_start() {
global $wpdb;
$wpdb->query_log = array();
add_filter( 'query', 'log_queries' );
}
// 쿼리 영역 하단 철폐 함수
function log_queries_end() {
global $wpdb;
if ( isset( $wpdb->query_log ) && ! empty( $wpdb->query_log ) ) {
foreach ( $wpdb->query_log as $query ) {
error_log( 'Executed Query: ' . $query );
}
}
}
// 영역 전개
log_queries_start();
// ----- 검증 할 파트 -----
// 영역 철폐
log_queries_end();
특정 함수 자체를 디버그 하는게 아니라 특정 영역에서의 상황을 파악할 때 사용.
영역을 지정하는 특수성도 유용하고, 무식하게 전체 로그를 남기지 않아 효율적인 로깅도 가능.