From 086ba55a15dc04914cba500f7ead61dec5490162 Mon Sep 17 00:00:00 2001 From: Marius Peter Date: Sat, 29 Nov 2025 13:45:29 +0100 Subject: Add debug facilities. --- README.org | 2 ++ db/conn.rkt | 15 ++++++++++----- debug.rkt | 11 +++++++++++ run_development.sh | 9 +++++++++ 4 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 debug.rkt create mode 100755 run_development.sh diff --git a/README.org b/README.org index 0b7a9bd..13b173f 100644 --- a/README.org +++ b/README.org @@ -8,5 +8,7 @@ - =FERTI_ENVIRONMENT= :: Can be either =development= or =production=. Default value is =production=, which is more secure (password required everywhere, no debug traces). +- =FERTI_DEBUG= :: Can be either =true= or =false=. Default value is + =false=. - =FERTI_USER= :: User used to log into the web app. - =FERTI_PASS= :: Password used to log into the web app. diff --git a/db/conn.rkt b/db/conn.rkt index 42a75c0..11abc19 100644 --- a/db/conn.rkt +++ b/db/conn.rkt @@ -1,22 +1,27 @@ #lang racket -(require db) - (provide current-conn connect! disconnect! with-db with-tx) +(require db + "../debug.rkt") + (define current-conn (make-parameter #f)) (define (connect! #:path [path 'memory]) - (unless (connection? (current-conn)) - (current-conn (sqlite3-connect #:database path #:mode 'create)))) + (if (connection? (current-conn)) + (debug-log (format "Connection already instantiated: ~a" (current-conn))) + (begin + (current-conn (sqlite3-connect #:database path #:mode 'create)) + (debug-log (format "Connection instantiated: ~a" (current-conn)))))) (define (disconnect!) (disconnect (current-conn)) - (current-conn #f)) + (current-conn #f) + (debug-log "Connection disconnected.")) (define-syntax-rule (with-db body ...) (begin diff --git a/debug.rkt b/debug.rkt new file mode 100644 index 0000000..0d93557 --- /dev/null +++ b/debug.rkt @@ -0,0 +1,11 @@ +#lang racket + +(provide debug-enabled? + debug-log) + +(define debug-enabled? + (make-parameter (let ([env (getenv "FERTI_DEBUG")]) (and env (equal? env "true"))))) + +(define (debug-log message) + (when (debug-enabled?) + (displayln message))) diff --git a/run_development.sh b/run_development.sh new file mode 100755 index 0000000..ee49082 --- /dev/null +++ b/run_development.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +export FERTI_ENV=development +export FERTI_DEBUG=true + +export FERTI_USER=admin +export FERTI_PASS=admin + +racket main.rkt -- cgit v1.2.3