Naplózás és hibakeresés
A naplózás bekapcsolása, a naplófájlok megtekintése és törlése, a biztonsági figyelmeztetés, valamint saját naplóbejegyzések írása.
A Gravity Forms naplója megmutatja, mit csinált a bővítmény egy beküldés, egy értesítés vagy egy licencellenőrzés közben. Hibakereséskor ez az első eszköz, amit érdemes bekapcsolni.
Ha szerepkörkezelő bővítményt használsz (például Members), a felhasználódnak meg kell kapnia a naplózáshoz szükséges jogosultságot, különben nem látod a beállításokat.
A naplózás bekapcsolása
Szekció neve “A naplózás bekapcsolása”- Nyisd meg az Űrlapok → Beállítások oldalt.
- Görgess a Naplózás kártyához, és kapcsold be a kapcsolót.
- Kattints a Beállítások mentése gombra.

Figyeld a Naplózás kártyát: a bekapcsolás után az oldalsó menüben új pont jelenik meg a naplózás beállításaihoz.
A naplózás beállításai
Szekció neve “A naplózás beállításai”A bekapcsolás után a Beállítások oldalsó menüjében új menüpont jelenik meg a naplózáshoz. Ezen az oldalon a Gravity Forms magja és minden telepített, naplózást támogató kiegészítő külön szerepel. Mindegyiknél külön be- és kikapcsolhatod a naplózást a Naplózás bekapcsolása és az összes üzenet naplózása jelölőnégyzettel.

Figyeld, hogy minden naplózható elem külön jelölőnégyzetet kap. Ha már tudod, hol a hiba, kapcsold be az érintett kiegészítőét is.
A naplók megtekintése
Szekció neve “A naplók megtekintése”A naplózás oldalán minden bekapcsolt elem alatt két hivatkozás jelenik meg: a napló megtekintése és a napló törlése. Ha a napló még üres, a megtekintő hivatkozás nem látszik.
A naplófájlok legfeljebb 5 MB méretűek. Ha egy fájl ennél nagyobbra nő, a rendszer átnevezi, és az eredeti néven új fájlt kezd. A régi, elforgatott fájlokat FTP-vel töltheted le a /wp-content/uploads/gravity_forms/logs/ mappából.
A Rendszerállapot oldalon is van hivatkozás a naplófájlokhoz, ha a naplózás be van kapcsolva és vannak fájlok.
Figyelmeztető üzenet
Szekció neve “Figyelmeztető üzenet”Amíg a naplózás be van kapcsolva, minden WordPress-admin oldalon megjelenik egy nem elrejthető biztonsági figyelmeztetés. A naplók nyílt szövegben érzékeny és személyes adatot is tartalmazhatnak, ezért a naplózást nem szabad bekapcsolva hagyni.
- Ha a naplózást támogatási kérés miatt kapcsoltad be, hagyd bekapcsolva, amíg a támogatás dolgozik rajta, utána kapcsold ki, és töröld a naplókat.
- A figyelmeztetést elrejtheted, ha kikapcsolod a naplózást, vagy ha a
wp-config.phpfájlba felveszed az alábbi sort:
define( 'GF_LOGGING_DISABLE_NOTICE', true );A Gravity Forms néhány passzív védelmet is alkalmaz: a naplófájlok neve minden bekapcsoláskor új, véletlen azonosítót kap, és egy index.html fájl megakadályozza a mappa tartalmának listázását. Ez nem pótolja azt, hogy a naplózást kikapcsold, és a napló fájljait ne hagyd hozzáférhető szerveren.
A naplók törlése
Szekció neve “A naplók törlése”A törléshez a naplózás oldalán a napló megtekintése helyett a napló törlése hivatkozást használd. Az összes naplófájl akkor is törlődik, ha az Űrlapok → Beállítások oldalon kikapcsolod a naplózást, vagy a figyelmeztetésben lévő hivatkozást használod.
Saját naplóbejegyzések
Szekció neve “Saját naplóbejegyzések”A beépített naplóbejegyzések nem mindent rögzítenek: például a feltételes logika szabályainak kiértékelését vagy a mezők ellenőrzési hibáit nem. Ezeket a téma functions.php fájljába tett kóddal naplóztathatod. A naplózás ilyenkor is csak akkor ír, ha be van kapcsolva.
A feltételes logika kiértékelése
Szekció neve “A feltételes logika kiértékelése”Ha egy értesítés azért nem megy el, mert a feltételes logika szabálya nem teljesül, a gform_is_value_match szűrővel látod, milyen a szabály, és mi volt a mező tényleges értéke.
add_filter( 'gform_is_value_match', 'log_conditional_logic_evaluation', PHP_INT_MAX, 6 );function log_conditional_logic_evaluation( $is_match, $field_value, $target_value, $operation, $source_field, $rule ) { GFCommon::log_debug( 'gform_is_value_match: $rule => ' . print_r( $rule, 1 ) ); GFCommon::log_debug( 'gform_is_value_match: $field_value => ' . print_r( $field_value, 1 ) ); GFCommon::log_debug( 'gform_is_value_match: $is_match => ' . var_export( $is_match, 1 ) );
return $is_match;}A mezők ellenőrzési hibái
Szekció neve “A mezők ellenőrzési hibái”add_filter( 'gform_validation', 'log_validation_errors', PHP_INT_MAX );function log_validation_errors( $validation_result ) { $form = $validation_result['form']; foreach ( $form['fields'] as $field ) { if ( $field->failed_validation ) { GFCommon::log_error( "form #{$form['id']}: validate() - failed: {$field->label} ({$field->id} - {$field->type}) - message: {$field->validation_message}" ); } }
return $validation_result;}A mentett értékek
Szekció neve “A mentett értékek”A gform_save_field_value szűrővel a beküldött és a ténylegesen mentett értéket is naplózhatod.
add_filter( 'gform_save_field_value', 'log_saved_values', PHP_INT_MAX, 5 );function log_saved_values( $value, $entry, $field, $form, $input_id ) { $input_name = 'input_' . str_replace( '.', '_', $input_id );
GFCommon::log_debug( "log_save_field_value: Input ID: {$input_id}. POST value => " . print_r( rgpost( $input_name ), true ) ); GFCommon::log_debug( 'log_save_field_value: Saved value => ' . print_r( $value, true ) );
return $value;}Írás a Gravity Forms magjának naplójába
Szekció neve “Írás a Gravity Forms magjának naplójába”Egyszerű bejegyzés a saját kódodból:
GFCommon::log_debug( __METHOD__ . '(): running.' );Szöveges változóval:
GFCommon::log_debug( __METHOD__ . "(): Nothing to do for the {$event} event." );Tömb vagy objektum kiírása:
GFCommon::log_debug( __METHOD__ . '(): form => ' . print_r( $form, true ) );A __METHOD__ PHP-állandó: a rendszer az aktuális osztály- és metódusnévre cseréli. Elhagyhatod, és írhatsz helyette függvénynevet vagy más azonosítót.
Írás egy kiegészítő naplójába
Szekció neve “Írás egy kiegészítő naplójába”Ha saját kiegészítőt írsz a kiegészítő-keretrendszerrel, a kiegészítő saját naplófájljába így írhatsz:
$this->log_debug( __METHOD__ . '(): feed => ' . print_r( $feed, true ) );Készült: