Simplify logging

This commit is contained in:
2024-12-14 23:59:28 +01:00
parent 1ee8d94789
commit 71df436a93
4 changed files with 46 additions and 224 deletions

View File

@@ -26,9 +26,7 @@ type Config struct {
RateLimitRequests int
RateLimitWindow time.Duration
IsDevelopment bool
LogDir string
LogLevel logging.LogLevel
ConsoleOutput bool
}
// DefaultConfig returns a new Config instance with default values
@@ -41,9 +39,6 @@ func DefaultConfig() *Config {
RateLimitRequests: 100,
RateLimitWindow: time.Minute * 15,
IsDevelopment: false,
LogDir: "./logs",
LogLevel: logging.INFO,
ConsoleOutput: false,
}
}
@@ -115,25 +110,14 @@ func LoadConfig() (*Config, error) {
}
}
// Configure log directory
if logDir := os.Getenv("NOVAMD_LOG_DIR"); logDir != "" {
config.LogDir = logDir
}
// Configure log level, if isDevelopment is set, default to debug
if logLevel := os.Getenv("NOVAMD_LOG_LEVEL"); logLevel != "" {
if parsed, err := logging.ParseLogLevel(logLevel); err == nil {
config.LogLevel = parsed
}
parsed := logging.ParseLogLevel(logLevel)
config.LogLevel = parsed
} else if config.IsDevelopment {
config.LogLevel = logging.DEBUG
}
// Configure console output, if isDevelopment is set, default to true
if consoleOutput := os.Getenv("NOVAMD_CONSOLE_OUTPUT"); consoleOutput != "" {
if parsed, err := strconv.ParseBool(consoleOutput); err == nil {
config.ConsoleOutput = parsed
}
} else {
config.LogLevel = logging.INFO
}
// Validate all settings

View File

@@ -12,7 +12,6 @@ type Options struct {
Config *Config
Database db.Database
Storage storage.Manager
Logger logging.Logger
JWTManager auth.JWTManager
SessionManager auth.SessionManager
CookieService auth.CookieManager
@@ -36,10 +35,7 @@ func DefaultOptions(cfg *Config) (*Options, error) {
storageManager := storage.NewService(cfg.WorkDir)
// Initialize logger
logger, err := logging.New(cfg.LogDir, cfg.LogLevel, cfg.ConsoleOutput)
if err != nil {
return nil, err
}
logging.Setup(cfg.LogLevel)
// Initialize auth services
jwtManager, sessionService, cookieService, err := initAuth(cfg, database)
@@ -56,7 +52,6 @@ func DefaultOptions(cfg *Config) (*Options, error) {
Config: cfg,
Database: database,
Storage: storageManager,
Logger: logger,
JWTManager: jwtManager,
SessionManager: sessionService,
CookieService: cookieService,

View File

@@ -1,8 +1,8 @@
package app
import (
"log/slog"
"net/http"
"novamd/internal/logging"
"github.com/go-chi/chi/v5"
)
@@ -11,7 +11,6 @@ import (
type Server struct {
router *chi.Mux
options *Options
logger *slog.Logger
}
// NewServer creates a new server instance with the given options
@@ -19,7 +18,6 @@ func NewServer(options *Options) *Server {
return &Server{
router: setupRouter(*options),
options: options,
logger: options.Logger.App(),
}
}
@@ -27,7 +25,7 @@ func NewServer(options *Options) *Server {
func (s *Server) Start() error {
// Start server
addr := ":" + s.options.Config.Port
s.logger.Info("Starting server", "address", addr)
logging.Info("Starting server", "address", addr)
return http.ListenAndServe(addr, s.router)
}