Migliori log di debug con questi miglioramenti

Tradotto automaticamente da Deepl

Come sviluppatori di 4D, potreste aver già attivato il registro di debug per risolvere i problemi. 4D v17 R5 introduce diversi miglioramenti per aiutare l’analisi di questi file, come la registrazione solo del processo corrente e la registrazione delle chiamate ai metodi membri (metodi di collezioni o oggetti).

Nuovo selettore per la registrazione dei processi

Il comando SET DATABASE PARAMETER accetta ora un nuovo selettore, Current process debug log recording. Richiamato da qualsiasi parte di un processo, avvia la registrazione solo per il processo corrente e crea un file “4DDebugLog_pX_Y.txt” nella cartella dei log di 4D (dove X è il PUID del processo e Y il numero del file di sequenza). Naturalmente, è anche possibile ottenere lo stato del log di debug del processo utilizzando questo nuovo selettore con il comando Get database parameter.

SET DATABASE PARAMETER(Current process debug log recording;2+4+8)

È possibile continuare a usare il selettoreDebug log recording per registrare i log dell’attività di tutti i processi, esclusi quelli registrati da Current process debug log recording.

Promemoria: è possibile accedere facilmente ai log di debug utilizzando questa riga di codice:

SHOW ON DISK(Get 4D folder(Logs folder))

Nella schermata seguente, si possono vedere i log generati da cinque processi:

Tenete presente che, poiché SET DATABASE PARAMETER non è thread safe, il processo si avvia in modalità cooperativa.

METODI membri logging

Per impostazione predefinita, i log di debug includono ora le chiamate ai metodi membri. Vengono registrate con il tipo di comando numero 9. Se non si vogliono includere i metodi membri, basta chiamare il comando SET DATABASE PARAMETER e i selettori Debug log recording o Current process debug log recording con una nuova opzione che abbia il valore 32. È comunque possibile combinare le opzioni per ottenere i log di debug desiderati.

Questo esempio mostra come registrare le interfacce WiFi ed Ethernet in raccolte separate:

SET DATABASE PARAMETER(Current process debug log recording;2+4+8)
C_COLLECTION ($_networkInterfaces;$_ethernet;$_wifi)
$_networkInterfaces:=Get system info.networkInterfaces
$_ethernet :=$_networkInterfaces.query("type = :1"; "ethernet")
$_wifi :=$_networkInterfaces.query("type = :1"; "wifi")
SET DATABASE PARAMETER (Current process debug log recording;0)

Il codice ritorna:

blank

Più sicurezza

In precedenza, quando si lanciavano i registri, i file venivano generati fino a quando non c’era più spazio disponibile sul disco. Per evitare errori o attivazioni accidentali nella finestra di amministrazione del server 4D , che potrebbero essere pericolose, il numero di file generati è limitato a 50 per impostazione predefinita. È possibile modificare questo limite tramite il comando SET DATABASE PARAMETER e il selettore Circular log limitation .

// Limit the number of logs files to 100 (the default number is set to 50)
SET DATABASE PARAMETER(Circular log limitation;100)

Avatar
- Product Owner -Damien Fuzeau è entrato a far parte del team 4D Product nel febbraio 2019. In qualità di Product Owner, si occupa di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo lavoro consiste anche nell'assicurarsi che le implementazioni delle funzionalità fornite soddisfino le esigenze dei clienti.Damien si è laureato all'Università di Nantes in ingegneria del software. Ha trascorso più di 23 anni nella sua precedente azienda, prima come sviluppatore (scoprendo 4D nel 1997), poi come responsabile dell'ingegneria e architetto software. Questa azienda è un partner OEM di 4D e ha distribuito software aziendali basati su 4D per migliaia di utenti, su centinaia di server. Damien è quindi abituato allo sviluppo e alla distribuzione di 4D in un contesto multilingue.