Kuidas lugeda WooCommerce logisid otse andmebaasist

Juuresolev pilt kujutab küll “logs”, aga seekord otsime ikkagi digitaalseid “log” faile.

WooCommerce’i logide lugemine toimub enamasti läbi WordPressi enda liidese (WooCommerce → Status → Logs) või serveris logifailide kaudu.
Aga on olukordi, kus live-keskkonnas ei ole mõistlik (või isegi võimalik) logisid failisüsteemist alla laadida, näiteks kui:

  • logifailid on väga suured,
  • ligipääs failisüsteemile on piiratud (hallatud hosting’u puhul),
  • soovid kiirelt SQL-i kaudu logi sisu kätte saada,
  • leht on lihtsalt katki.

Õnneks on logid täiesti olemas ka andmebaasis ja neid saab üsna lihtsalt vaadata.

Kus WooCommerce’i logid asuvad?

WooCommerce’i logisid ei salvestata ainult failisüsteemi, vaid sama info on olemas ka andmebaasis.
Uuemates WooCommerce’i versioonides kirjutatakse osa logisid ka wp_wc_logs või vanemates versioonides wp_woocommerce_log tabelisse.

Kõige tavalisem koht, kust WooCommerce logisid leida, on tabel:

wp_wc_logs

Selle tabeli struktuur on üldjuhul järgmine:

  • log_id – unikaalne ID
  • source – logi allikas (nt system_status, webhook, payment-gateway jne)
  • level – logi tase (info, error, warning)
  • message – logi sisu
  • timestamp – kuupäev ja kellaaeg

Kuidas andmeid phpMyAdminis lugeda

1. Ava phpMyAdmin

Logi sisse veebimajutuse haldusesse ja ava phpMyAdmin (nt Zone’i puhul: Veebimajutus → Andmebaasid → phpMyAdmin).

(Andmebaasi ühenduseks vajaliku kasutajanime ja parooli leiad kõige lihtsamini wp-config.php failist.)

2. Ava wp_wc_logs tabel

Vasakul tabelite nimekirjas otsi wp_wc_logs.

(Kui sul on custom tabeli prefix, võib tabeli nimi olla midagi nagu wp_abc_wc_logs).

3. Filtreeri või kirjuta SQL päring

Kui soovid ainult viimaseid logisid, on kõige lihtsam kasutada SQL päringut:

SELECT *
FROM wp_wc_logs
ORDER BY timestamp DESC
LIMIT 50;

See annab viimased 50 logikirjet.

Kui sind huvitab konkreetse allika logi, näiteks Stripe’i maksed, saab tulemusi filtreerida WHERE käsuga:

SELECT *
FROM wp_wc_logs
WHERE source = 'stripe'
ORDER BY timestamp DESC
LIMIT 50;

Kuidas leida veateateid

WooCommerce’i logides kasutatakse level veergu, millel on info selle kohta, mis taseme veateatega on tegu. Näiteks kui me tahame kätte saada ainult error’i,aga ei taha teada info taseme teateid, filtreerime tulemust nii:

SELECT *
FROM wp_wc_logs
WHERE level = 'error'
ORDER BY timestamp DESC;

Ekspordi logid failina

Teinekord on infot väga palju ja lihtsam on seda töödelda, otsida kuskil mujal. phpMyAdminis saab tulemusi eksportida lihtsalt:

  1. Pärast päringu jooksutamist vali Ekspordi.
  2. Vali sobiv formaat (nt CSV formaati oskab ka Excel avada ja importida).
  3. Lae fail alla.

Lõpetuseks

Teinekord on logide lugemine otse andmebaasist kiirem lahendus, juhul kui leht onkatki või aeglane ja on vaja kiiresti teada saada, kus on viga.. Seni, kuni räägime arenduskeskkonnast, veebilehe koopiast või mõnest muust mitte live lehest, on oht väike. Live lehtede puhul ähvardab alati oht, et midagi võib teadmatusest katki teha, aga kui backup’id on loodud enne muudatusi ja kasutatakse ainult SELECT käsku, võiks oht olla minimaalne.