- Добавлен файл LICENSE с лицензией GNU General Public License версии 3.0. - Создан скрипт PowerShell (build-all.ps1) для сборки двоичных файлов Windows и Linux из Windows с использованием кросс-компиляции. - Разработан скрипт сборки Linux (build-linux.sh) для сборки двоичных файлов Linux. - Реализован скрипт PowerShell (build-windows.ps1) для сборки двоичных файлов Windows. - Каждый скрипт сборки включает упаковку и генерацию контрольной суммы SHA256 для двоичных файлов.
84 lines
2.1 KiB
Go
84 lines
2.1 KiB
Go
package tui
|
|
|
|
import (
|
|
"compress/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
|
|
}
|