package logger

import (
	"fmt"
	"os"
	"path/filepath"
	"time"
)

// LogMessage записывает сообщение в лог-файл
func LogMessage(logFile, message string) error {
	f, err := os.OpenFile(logFile, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
	if err != nil {
		return err
	}
	defer f.Close()

	timestamp := time.Now().Format("2006-01-02 15:04:05")
	logEntry := fmt.Sprintf("[%s] %s\n", timestamp, message)
	
	_, err = f.WriteString(logEntry)
	return err
}

// GetLogPath возвращает путь к лог-файлу
func GetLogPath(logsDir, logType string) string {
	return filepath.Join(logsDir, fmt.Sprintf("%s.log", logType))
}

// GetTrafficLogPath возвращает путь к лог-файлу трафика с временной меткой
func GetTrafficLogPath(logsDir string) string {
	timestamp := time.Now().Format("20060102_150405")
	return filepath.Join(logsDir, fmt.Sprintf("vless_traffic_%s.log", timestamp))
}
