mirror of
https://gitea.com/gitea/act_runner.git
synced 2026-03-02 01:40:19 +00:00
Move logging to another file
This commit is contained in:
@@ -12,6 +12,7 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"gitea.com/gitea/act_runner/internal/app/run"
|
||||
"github.com/actions-oss/act-cli/pkg/artifactcache"
|
||||
"github.com/actions-oss/act-cli/pkg/artifacts"
|
||||
"github.com/actions-oss/act-cli/pkg/common"
|
||||
@@ -25,15 +26,6 @@ import (
|
||||
"golang.org/x/term"
|
||||
)
|
||||
|
||||
type JobLoggerFactoryWithInfoLevel struct{}
|
||||
|
||||
// WithJobLogger implements [runner.JobLoggerFactory].
|
||||
func (j *JobLoggerFactoryWithInfoLevel) WithJobLogger() *log.Logger {
|
||||
jobLogger := log.New()
|
||||
jobLogger.SetLevel(log.InfoLevel)
|
||||
return jobLogger
|
||||
}
|
||||
|
||||
type executeArgs struct {
|
||||
runList bool
|
||||
job string
|
||||
@@ -458,7 +450,7 @@ func runExec(ctx context.Context, execArgs *executeArgs) func(cmd *cobra.Command
|
||||
}
|
||||
|
||||
// TODO GITEA
|
||||
ctx = runner.WithJobLoggerFactory(ctx, &JobLoggerFactoryWithInfoLevel{})
|
||||
ctx = runner.WithJobLoggerFactory(ctx, &run.JobLoggerFactoryWithInfoLevel{})
|
||||
|
||||
r, err := runner.New(config)
|
||||
if err != nil {
|
||||
|
||||
@@ -5,20 +5,34 @@ package run
|
||||
|
||||
import (
|
||||
"io"
|
||||
"os"
|
||||
|
||||
"gitea.com/gitea/act_runner/internal/pkg/report"
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
// NullLogger is used to create a new JobLogger to discard logs. This
|
||||
// will prevent these logs from being logged to the stdout, but
|
||||
// forward them to the Reporter via its hook.
|
||||
type NullLogger struct{}
|
||||
type JobLoggerFactoryWithInfoLevel struct{}
|
||||
|
||||
// WithJobLogger creates a new logrus.Logger that will discard all logs.
|
||||
func (n NullLogger) WithJobLogger() *log.Logger {
|
||||
logger := log.New()
|
||||
logger.SetOutput(io.Discard)
|
||||
logger.SetLevel(log.TraceLevel)
|
||||
|
||||
return logger
|
||||
// WithJobLogger implements [runner.JobLoggerFactory].
|
||||
func (j *JobLoggerFactoryWithInfoLevel) WithJobLogger() *log.Logger {
|
||||
jobLogger := log.New()
|
||||
jobLogger.SetLevel(log.InfoLevel)
|
||||
return jobLogger
|
||||
}
|
||||
|
||||
type JobLoggerWithReporter struct {
|
||||
Reporter *report.Reporter
|
||||
LogToTerminal bool
|
||||
}
|
||||
|
||||
// WithJobLogger implements [runner.JobLoggerFactory].
|
||||
func (j *JobLoggerWithReporter) WithJobLogger() *log.Logger {
|
||||
jobLogger := log.New()
|
||||
if j.LogToTerminal {
|
||||
jobLogger.SetOutput(os.Stdout)
|
||||
} else {
|
||||
jobLogger.SetOutput(io.Discard)
|
||||
}
|
||||
jobLogger.AddHook(j.Reporter)
|
||||
return jobLogger
|
||||
}
|
||||
|
||||
@@ -7,8 +7,6 @@ import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"sync"
|
||||
@@ -29,23 +27,6 @@ import (
|
||||
"gitea.com/gitea/act_runner/internal/pkg/ver"
|
||||
)
|
||||
|
||||
type JobLoggerFactory struct {
|
||||
reporter *report.Reporter
|
||||
logToTerminal bool
|
||||
}
|
||||
|
||||
// WithJobLogger implements [runner.JobLoggerFactory].
|
||||
func (j *JobLoggerFactory) WithJobLogger() *log.Logger {
|
||||
jobLogger := log.New()
|
||||
if j.logToTerminal {
|
||||
jobLogger.SetOutput(os.Stdout)
|
||||
} else {
|
||||
jobLogger.SetOutput(io.Discard)
|
||||
}
|
||||
jobLogger.AddHook(j.reporter)
|
||||
return jobLogger
|
||||
}
|
||||
|
||||
// Runner runs the pipeline.
|
||||
type Runner struct {
|
||||
name string
|
||||
@@ -288,7 +269,7 @@ func (r *Runner) run(ctx context.Context, task *runnerv1.Task, reporter *report.
|
||||
reporter.Logf("workflow prepared")
|
||||
|
||||
// TODO GITEA
|
||||
ctx = runner.WithJobLoggerFactory(ctx, &JobLoggerFactory{reporter: reporter, logToTerminal: log.IsLevelEnabled(log.DebugLevel)})
|
||||
ctx = runner.WithJobLoggerFactory(ctx, &JobLoggerWithReporter{Reporter: reporter, LogToTerminal: log.IsLevelEnabled(log.DebugLevel)})
|
||||
|
||||
execErr := executor(ctx)
|
||||
reporter.SetOutputs(job.Outputs)
|
||||
|
||||
Reference in New Issue
Block a user