EARFQUAKE

This commit is contained in:
Mitsu
2025-07-07 21:05:36 +02:00
commit 54123ab5ec
12 changed files with 871 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
package globals
import (
"encoding/json"
"fmt"
"os"
)
type HTTPConfig struct {
AdminToken string `json:"adminToken"`
Port int `json:"port"`
}
type Config struct {
HTTP HTTPConfig `json:"http"`
FileLogging bool `json:"fileLogging"`
VerboseLogging bool `json:"verboseLogging"`
}
func LoadConfig(path string) *Config {
file, err := os.ReadFile(path)
if err != nil {
fmt.Println("An error occured while reading the config file:", err)
os.Exit(1)
}
var cfg Config
err = json.Unmarshal(file, &cfg)
if err != nil {
fmt.Println("An error occured while parsing the config file:", err)
os.Exit(1)
}
return &cfg
}
var AppConfig *Config
+42
View File
@@ -0,0 +1,42 @@
package globals
import (
"fmt"
"io"
"log"
"os"
"time"
)
var (
HTTPLogger *log.Logger
DBLogger *log.Logger
flags int
)
func InitLoggers() {
var logOutput io.Writer = os.Stdout
if AppConfig.FileLogging {
os.Mkdir("logs", os.ModePerm)
timestamp := time.Now().Format("2006-01-02_15-04-05")
filename := fmt.Sprintf("logs/log_%s.txt", timestamp)
file, err := os.OpenFile(filename, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0666)
if err != nil {
log.Fatal("An error occured while loading logs.txt")
}
logOutput = io.MultiWriter(os.Stdout, file)
log.SetOutput(logOutput)
}
if AppConfig.VerboseLogging {
flags = log.Ldate | log.Ltime | log.Lshortfile
}
HTTPLogger = log.New(logOutput, "[HTTP] ", flags)
DBLogger = log.New(logOutput, "[DATABASE] ", flags)
}