Files
woodpecker/server/logging/logging.go
2023-11-08 20:27:37 +01:00

30 lines
705 B
Go

package logging
import (
"context"
"errors"
"go.woodpecker-ci.org/woodpecker/server/model"
)
// ErrNotFound is returned when the log does not exist.
var ErrNotFound = errors.New("stream: not found")
// Handler defines a callback function for handling log entries.
type Handler func(...*model.LogEntry)
// Log defines a log multiplexer.
type Log interface {
// Open opens the log.
Open(c context.Context, stepID int64) error
// Write writes the entry to the log.
Write(c context.Context, stepID int64, entry *model.LogEntry) error
// Tail tails the log.
Tail(c context.Context, stepID int64, handler Handler) error
// Close closes the log.
Close(c context.Context, stepID int64) error
}