Достижение: Добавлены скрипты и документация для релиза PDF Compressor.
- Добавлен release-body.md для подробных заметок о релизе на русском языке. - Реализован release-gitea.ps1 для автоматизированного релиза Gitea с помощью PowerShell. - Создан release-gitea.sh для автоматизированного релиза Gitea с помощью Bash. - Добавлен release.sh для сборки и маркировки релизов с поддержкой нескольких платформ. - Улучшен пользовательский интерфейс благодаря информативному логированию и обработке ошибок. - Добавлена поддержка переменных окружения и управления конфигурацией. - Добавлена функция создания архивов и загрузки ресурсов в Gitea.
This commit is contained in:
83
internal/presentation/tui/logger_adapter.go
Normal file
83
internal/presentation/tui/logger_adapter.go
Normal file
@@ -0,0 +1,83 @@
|
||||
package tui
|
||||
|
||||
import (
|
||||
"compressor/internal/domain/repositories"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
// UILogger адаптер логгера для отображения в UI
|
||||
type UILogger struct {
|
||||
fileLogger repositories.Logger
|
||||
tuiManager *Manager
|
||||
}
|
||||
|
||||
// NewUILogger создает новый UI логгер
|
||||
func NewUILogger(fileLogger repositories.Logger, tuiManager *Manager) *UILogger {
|
||||
return &UILogger{
|
||||
fileLogger: fileLogger,
|
||||
tuiManager: tuiManager,
|
||||
}
|
||||
}
|
||||
|
||||
// Debug логирует отладочное сообщение
|
||||
func (l *UILogger) Debug(format string, args ...interface{}) {
|
||||
message := fmt.Sprintf(format, args...)
|
||||
if l.fileLogger != nil {
|
||||
l.fileLogger.Debug(format, args...)
|
||||
}
|
||||
if l.tuiManager != nil {
|
||||
l.tuiManager.AddLog("DEBUG", message)
|
||||
}
|
||||
}
|
||||
|
||||
// Info логирует информационное сообщение
|
||||
func (l *UILogger) Info(format string, args ...interface{}) {
|
||||
message := fmt.Sprintf(format, args...)
|
||||
if l.fileLogger != nil {
|
||||
l.fileLogger.Info(format, args...)
|
||||
}
|
||||
if l.tuiManager != nil {
|
||||
l.tuiManager.AddLog("INFO", message)
|
||||
}
|
||||
}
|
||||
|
||||
// Warning логирует предупреждение
|
||||
func (l *UILogger) Warning(format string, args ...interface{}) {
|
||||
message := fmt.Sprintf(format, args...)
|
||||
if l.fileLogger != nil {
|
||||
l.fileLogger.Warning(format, args...)
|
||||
}
|
||||
if l.tuiManager != nil {
|
||||
l.tuiManager.AddLog("WARNING", message)
|
||||
}
|
||||
}
|
||||
|
||||
// Error логирует ошибку
|
||||
func (l *UILogger) Error(format string, args ...interface{}) {
|
||||
message := fmt.Sprintf(format, args...)
|
||||
if l.fileLogger != nil {
|
||||
l.fileLogger.Error(format, args...)
|
||||
}
|
||||
if l.tuiManager != nil {
|
||||
l.tuiManager.AddLog("ERROR", message)
|
||||
}
|
||||
}
|
||||
|
||||
// Success логирует успешное выполнение
|
||||
func (l *UILogger) Success(format string, args ...interface{}) {
|
||||
message := fmt.Sprintf(format, args...)
|
||||
if l.fileLogger != nil {
|
||||
l.fileLogger.Success(format, args...)
|
||||
}
|
||||
if l.tuiManager != nil {
|
||||
l.tuiManager.AddLog("SUCCESS", message)
|
||||
}
|
||||
}
|
||||
|
||||
// Close закрывает логгер
|
||||
func (l *UILogger) Close() error {
|
||||
if l.fileLogger != nil {
|
||||
return l.fileLogger.Close()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user