Add more logger code.
All checks were successful
Build Docker image / build (push) Successful in 53s
All checks were successful
Build Docker image / build (push) Successful in 53s
This commit is contained in:
parent
f5fe3f5080
commit
4aa065ee82
1 changed files with 15 additions and 12 deletions
27
main.go
27
main.go
|
@ -73,6 +73,7 @@ type Payload struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
var db *sql.DB
|
var db *sql.DB
|
||||||
|
var logger *slog.Logger
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
// Setup slog
|
// Setup slog
|
||||||
|
@ -81,7 +82,7 @@ func main() {
|
||||||
|
|
||||||
// Load environment variables from .env file if it exists
|
// Load environment variables from .env file if it exists
|
||||||
if err := godotenv.Load(); err != nil {
|
if err := godotenv.Load(); err != nil {
|
||||||
logger.Info("No .env file found or error loading .env file", "error", err)
|
logger.Info("No .env file found or error loading .env file (ignore this message when using container)", "error", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Connect to PostgreSQL
|
// Connect to PostgreSQL
|
||||||
|
@ -97,13 +98,13 @@ func main() {
|
||||||
opts.SetPassword(os.Getenv("MQTT_PASSWORD"))
|
opts.SetPassword(os.Getenv("MQTT_PASSWORD"))
|
||||||
opts.SetAutoReconnect(true)
|
opts.SetAutoReconnect(true)
|
||||||
opts.SetConnectionLostHandler(func(client mqtt.Client, err error) {
|
opts.SetConnectionLostHandler(func(client mqtt.Client, err error) {
|
||||||
log.Printf("Connection lost: %v", err)
|
logger.Error("Connection lost", "error", err)
|
||||||
})
|
})
|
||||||
opts.SetOnConnectHandler(func(client mqtt.Client) {
|
opts.SetOnConnectHandler(func(client mqtt.Client) {
|
||||||
topic := os.Getenv("MQTT_TOPIC")
|
topic := os.Getenv("MQTT_TOPIC")
|
||||||
log.Println("Connected to MQTT broker, subscribing to topic...")
|
logger.Info("Connected to MQTT broker, subscribing to topic...", "topic", topic)
|
||||||
if token := client.Subscribe(topic, 0, mqttMessageHandler); token.Wait() && token.Error() != nil {
|
if token := client.Subscribe(topic, 0, mqttMessageHandler); token.Wait() && token.Error() != nil {
|
||||||
log.Printf("Error subscribing to MQTT topic %s: %v", topic, token.Error())
|
logger.Error("Error subscribing to MQTT topic", "topic", topic, "error", token.Error())
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -144,14 +145,14 @@ func mqttMessageHandler(client mqtt.Client, msg mqtt.Message) {
|
||||||
var payload Payload
|
var payload Payload
|
||||||
err := json.Unmarshal(msg.Payload(), &payload)
|
err := json.Unmarshal(msg.Payload(), &payload)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("Error parsing MQTT payload:", err)
|
logger.Error("Error parsing MQTT payload", "error", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Parse timestamp to time.Time
|
// Parse timestamp to time.Time
|
||||||
timestamp, err := parseTimestamp(payload.T)
|
timestamp, err := parseTimestamp(payload.T)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("Error parsing timestamp:", err)
|
logger.Error("Error parsing timestamp", "error", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -182,15 +183,17 @@ func mqttMessageHandler(client mqtt.Client, msg mqtt.Message) {
|
||||||
|
|
||||||
// If any value has changed, log all the relevant values
|
// If any value has changed, log all the relevant values
|
||||||
if changed {
|
if changed {
|
||||||
log.Printf("Values changed: dt1=%s, dt2=%s, rt1=%s, rt2=%s, g=%s\n",
|
logger.Debug("Values changed",
|
||||||
safeDerefInt(payload.Dt1), safeDerefInt(payload.Dt2),
|
"dt1", safeDerefInt(payload.Dt1),
|
||||||
safeDerefInt(payload.Rt1), safeDerefInt(payload.Rt2),
|
"dt2", safeDerefInt(payload.Dt2),
|
||||||
safeDerefInt(payload.G))
|
"rt1", safeDerefInt(payload.Rt1),
|
||||||
|
"rt2", safeDerefInt(payload.Rt2),
|
||||||
|
"g", safeDerefInt(payload.G))
|
||||||
}
|
}
|
||||||
// Insert data into PostgreSQL
|
// Insert data into PostgreSQL
|
||||||
err = insertData(timestamp, payload)
|
err = insertData(timestamp, payload)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("Error inserting data into PostgreSQL:", err)
|
logger.Error("Error inserting data into PostgreSQL", "error", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -248,7 +251,7 @@ func connectToPostgreSQL(pgConnStr string) error {
|
||||||
break // Successfully connected
|
break // Successfully connected
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Println("Error connecting to PostgreSQL:", err)
|
logger.Error("Error connecting to PostgreSQL", "error", err)
|
||||||
time.Sleep(5 * time.Second) // Retry after 5 seconds
|
time.Sleep(5 * time.Second) // Retry after 5 seconds
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue