Hallucinate a better logging lol

This commit is contained in:
2025-10-21 10:10:16 +02:00
parent 6ab08fe97f
commit 2459988ff0
3 changed files with 22 additions and 14 deletions

14
main.go
View File

@@ -369,25 +369,31 @@ func main() {
func HandleSpecialArgs(args []string, db utils.DB) (bool, error) { func HandleSpecialArgs(args []string, db utils.DB) (bool, error) {
handleSpecialArgsLogger := logger.Default.WithPrefix("HandleSpecialArgs") handleSpecialArgsLogger := logger.Default.WithPrefix("HandleSpecialArgs")
handleSpecialArgsLogger.Debug("Handling special arguments: %v", args) handleSpecialArgsLogger.Debug("Handling special arguments: %v", args)
if len(args) == 0 {
handleSpecialArgsLogger.Warning("No arguments provided to HandleSpecialArgs")
return false, nil
}
switch args[0] { switch args[0] {
case "reset": case "reset":
handleSpecialArgsLogger.Info("Resetting all files") handleSpecialArgsLogger.Info("Resetting all files to their original state from database")
err := utils.ResetAllFiles(db) err := utils.ResetAllFiles(db)
if err != nil { if err != nil {
handleSpecialArgsLogger.Error("Failed to reset all files: %v", err) handleSpecialArgsLogger.Error("Failed to reset all files: %v", err)
return true, err return true, err
} }
handleSpecialArgsLogger.Info("All files reset") handleSpecialArgsLogger.Info("Successfully reset all files to original state")
return true, nil return true, nil
case "dump": case "dump":
handleSpecialArgsLogger.Info("Dumping all files from database") handleSpecialArgsLogger.Info("Dumping all files from database (clearing snapshots)")
err := db.RemoveAllFiles() err := db.RemoveAllFiles()
if err != nil { if err != nil {
handleSpecialArgsLogger.Error("Failed to remove all files from database: %v", err) handleSpecialArgsLogger.Error("Failed to remove all files from database: %v", err)
return true, err return true, err
} }
handleSpecialArgsLogger.Info("All files removed from database") handleSpecialArgsLogger.Info("Successfully cleared all file snapshots from database")
return true, nil return true, nil
default:
handleSpecialArgsLogger.Debug("Unknown special argument: %q", args[0])
} }
handleSpecialArgsLogger.Debug("No special arguments handled, returning false") handleSpecialArgsLogger.Debug("No special arguments handled, returning false")
return false, nil return false, nil

View File

@@ -42,24 +42,25 @@ func GetDB() (DB, error) {
dbFile := filepath.Join("data.sqlite") dbFile := filepath.Join("data.sqlite")
getDBLogger.Debug("Opening database file: %q", dbFile) getDBLogger.Debug("Opening database file: %q", dbFile)
getDBLogger.Trace("Database configuration: PrepareStmt=true, GORM logger=Silent")
db, err := gorm.Open(sqlite.Open(dbFile), &gorm.Config{ db, err := gorm.Open(sqlite.Open(dbFile), &gorm.Config{
// SkipDefaultTransaction: true, // SkipDefaultTransaction: true,
PrepareStmt: true, PrepareStmt: true,
Logger: gormlogger.Default.LogMode(gormlogger.Silent), Logger: gormlogger.Default.LogMode(gormlogger.Silent),
}) })
if err != nil { if err != nil {
getDBLogger.Error("Failed to open database: %v", err) getDBLogger.Error("Failed to open database file %q: %v", dbFile, err)
return nil, err return nil, err
} }
getDBLogger.Debug("Database opened successfully, running auto migration") getDBLogger.Debug("Database opened successfully, running auto migration for FileSnapshot model")
if err := db.AutoMigrate(&FileSnapshot{}); err != nil { if err := db.AutoMigrate(&FileSnapshot{}); err != nil {
getDBLogger.Error("Auto migration failed: %v", err) getDBLogger.Error("Auto migration failed for FileSnapshot model: %v", err)
return nil, err return nil, err
} }
getDBLogger.Debug("Auto migration completed") getDBLogger.Info("Database initialized and migrated successfully")
globalDB = &DBWrapper{db: db} globalDB = &DBWrapper{db: db}
getDBLogger.Debug("Database wrapper initialized") getDBLogger.Debug("Database wrapper initialized and cached globally")
return globalDB, nil return globalDB, nil
} }
@@ -89,7 +90,7 @@ func (db *DBWrapper) FileExists(filePath string) (bool, error) {
} }
func (db *DBWrapper) SaveFile(filePath string, fileData []byte) error { func (db *DBWrapper) SaveFile(filePath string, fileData []byte) error {
saveFileLogger := dbLogger.WithPrefix("SaveFile").WithField("filePath", filePath) saveFileLogger := dbLogger.WithPrefix("SaveFile").WithField("filePath", filePath).WithField("dataSize", len(fileData))
saveFileLogger.Debug("Attempting to save file to database") saveFileLogger.Debug("Attempting to save file to database")
saveFileLogger.Trace("File data length: %d", len(fileData)) saveFileLogger.Trace("File data length: %d", len(fileData))
@@ -99,7 +100,7 @@ func (db *DBWrapper) SaveFile(filePath string, fileData []byte) error {
return err return err
} }
if exists { if exists {
saveFileLogger.Debug("File already exists, skipping save") saveFileLogger.Debug("File already exists in database, skipping save to avoid overwriting original snapshot")
return nil return nil
} }
saveFileLogger.Debug("Creating new file snapshot in database") saveFileLogger.Debug("Creating new file snapshot in database")
@@ -111,7 +112,7 @@ func (db *DBWrapper) SaveFile(filePath string, fileData []byte) error {
if err != nil { if err != nil {
saveFileLogger.Error("Failed to create file snapshot: %v", err) saveFileLogger.Error("Failed to create file snapshot: %v", err)
} else { } else {
saveFileLogger.Debug("File saved successfully to database") saveFileLogger.Info("File successfully saved to database")
} }
return err return err
} }

View File

@@ -16,6 +16,7 @@ var (
) )
func init() { func init() {
flagsLogger.Debug("Initializing flags") flagsLogger.Debug("Initializing command-line flags")
flagsLogger.Trace("ParallelFiles initial value: %d, Filter initial value: %q, JSON initial value: %t", *ParallelFiles, *Filter, *JSON) flagsLogger.Trace("Initial flag values - ParallelFiles: %d, Filter: %q, JSON: %t", *ParallelFiles, *Filter, *JSON)
flagsLogger.Debug("Flag definitions: -P (parallel files), -f (filter), -json (JSON mode)")
} }