mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-23 17:31:11 +01:00
feat: implement logging interfaces and service logger
- Added Logger interface in core/interfaces/logger.go for standardized logging methods (Debugf, Infof, Warnf, Errorf). - Introduced ServiceLogger in core/utils/log.go, which prefixes log messages with the service name for better context. - Implemented logging methods in ServiceLogger to utilize the apex/log package for structured logging.
This commit is contained in:
16
core/interfaces/logger.go
Normal file
16
core/interfaces/logger.go
Normal file
@@ -0,0 +1,16 @@
|
||||
package interfaces
|
||||
|
||||
// Logger interface for reporting informational and warning messages.
|
||||
type Logger interface {
|
||||
// Debugf logs a formatted debugging message.
|
||||
Debugf(format string, args ...interface{})
|
||||
|
||||
// Infof logs a formatted informational message.
|
||||
Infof(format string, args ...interface{})
|
||||
|
||||
// Warnf logs a formatted warning message.
|
||||
Warnf(format string, args ...interface{})
|
||||
|
||||
// Errorf logs a formatted error message.
|
||||
Errorf(format string, args ...interface{})
|
||||
}
|
||||
42
core/utils/log.go
Normal file
42
core/utils/log.go
Normal file
@@ -0,0 +1,42 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/apex/log"
|
||||
)
|
||||
|
||||
// ServiceLogger represents a logger with a specific service prefix.
|
||||
type ServiceLogger struct {
|
||||
prefix string
|
||||
}
|
||||
|
||||
// NewServiceLogger creates a new logger with the given service name as a prefix.
|
||||
func NewServiceLogger(serviceName string) *ServiceLogger {
|
||||
return &ServiceLogger{
|
||||
prefix: serviceName,
|
||||
}
|
||||
}
|
||||
|
||||
// Infof logs an informational message with formatted content.
|
||||
func (l *ServiceLogger) Infof(format string, args ...interface{}) {
|
||||
log.Infof(l.getFormat(format), args...)
|
||||
}
|
||||
|
||||
// Warnf logs a warning message with formatted content.
|
||||
func (l *ServiceLogger) Warnf(format string, args ...interface{}) {
|
||||
log.Warnf(l.getFormat(format), args...)
|
||||
}
|
||||
|
||||
// Errorf logs an error message with formatted content.
|
||||
func (l *ServiceLogger) Errorf(format string, args ...interface{}) {
|
||||
log.Errorf(l.getFormat(format), args...)
|
||||
}
|
||||
|
||||
// Debugf logs a debug message with formatted content.
|
||||
func (l *ServiceLogger) Debugf(format string, args ...interface{}) {
|
||||
log.Debugf(l.getFormat(format), args...)
|
||||
}
|
||||
|
||||
func (l *ServiceLogger) getFormat(format string) string {
|
||||
return fmt.Sprintf("[%s] %s", l.prefix, format)
|
||||
}
|
||||
Reference in New Issue
Block a user