Add additional project structure, config, Docker support, and more prompt files

This commit is contained in:
Krypto Kajun
2025-09-12 01:21:50 -05:00
parent ba80b273e4
commit c5843a5667
17 changed files with 762 additions and 23 deletions

61
internal/logger/logger.go Normal file
View File

@@ -0,0 +1,61 @@
package logger
import (
"log"
"os"
)
// Logger represents a simple logger wrapper
type Logger struct {
logger *log.Logger
level string
}
// New creates a new logger
func New(level string, format string, file string) *Logger {
// Determine output destination
var output *os.File
if file != "" {
f, err := os.OpenFile(file, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if err != nil {
log.Fatal(err)
}
output = f
} else {
output = os.Stdout
}
// Create the logger
logger := log.New(output, "", log.LstdFlags|log.Lshortfile)
return &Logger{
logger: logger,
level: level,
}
}
// Debug logs a debug message
func (l *Logger) Debug(v ...interface{}) {
if l.level == "debug" {
l.logger.Print("DEBUG: ", v)
}
}
// Info logs an info message
func (l *Logger) Info(v ...interface{}) {
if l.level == "debug" || l.level == "info" {
l.logger.Print("INFO: ", v)
}
}
// Warn logs a warning message
func (l *Logger) Warn(v ...interface{}) {
if l.level == "debug" || l.level == "info" || l.level == "warn" {
l.logger.Print("WARN: ", v)
}
}
// Error logs an error message
func (l *Logger) Error(v ...interface{}) {
l.logger.Print("ERROR: ", v)
}