diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2020-09-26 10:23:10 +1000 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2020-09-26 11:00:50 +1000 |
commit | 077f11361805417c15234c62a9f9aa022f913d43 (patch) | |
tree | 2cf25beba4f96b55392f09d733a14c25c149de07 /pkg/tasks | |
parent | 0c6cbe7746660155df0645f01d37150099d21f49 (diff) |
add in-built logging support for a better dev experience
Diffstat (limited to 'pkg/tasks')
-rw-r--r-- | pkg/tasks/tasks.go | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/pkg/tasks/tasks.go b/pkg/tasks/tasks.go index 388269de0..223d36c98 100644 --- a/pkg/tasks/tasks.go +++ b/pkg/tasks/tasks.go @@ -5,6 +5,7 @@ import ( "fmt" "io" "os/exec" + "strings" "sync" "time" @@ -50,7 +51,9 @@ func (m *ViewBufferManager) NewCmdTask(r io.Reader, cmd *exec.Cmd, linesToRead i go func() { <-stop if err := commands.Kill(cmd); err != nil { - m.Log.Warn(err) + if !strings.Contains(err.Error(), "process already finished") { + m.Log.Errorf("error when running cmd task: %v", err) + } } if onDone != nil { onDone() @@ -120,7 +123,10 @@ func (m *ViewBufferManager) NewCmdTask(r io.Reader, cmd *exec.Cmd, linesToRead i } if err := cmd.Wait(); err != nil { - m.Log.Warn(err) + // it's fine if we've killed this program ourselves + if !strings.Contains(err.Error(), "signal: killed") { + m.Log.Error(err) + } } m.refreshView() @@ -170,15 +176,12 @@ func (m *ViewBufferManager) NewTask(f func(stop chan struct{}) error) error { m.taskIDMutex.Lock() m.newTaskId++ taskID := m.newTaskId - m.Log.Infof("starting task %d", taskID) m.taskIDMutex.Unlock() m.waitingMutex.Lock() defer m.waitingMutex.Unlock() - m.Log.Infof("done waiting") if taskID < m.newTaskId { - m.Log.Infof("returning cos the task is obsolete") return } @@ -186,9 +189,7 @@ func (m *ViewBufferManager) NewTask(f func(stop chan struct{}) error) error { notifyStopped := make(chan struct{}) if m.currentTask != nil { - m.Log.Info("asking task to stop") m.currentTask.Stop() - m.Log.Info("task stopped") } m.currentTask = &Task{ @@ -203,7 +204,6 @@ func (m *ViewBufferManager) NewTask(f func(stop chan struct{}) error) error { m.Log.Error(err) // might need an onError callback } - m.Log.Infof("returning from task %d", taskID) close(notifyStopped) }() }() @@ -218,8 +218,6 @@ func (t *Task) Stop() { return } close(t.stop) - t.Log.Info("closed stop channel, waiting for notifyStopped message") <-t.notifyStopped - t.Log.Info("received notifystopped message") t.stopped = true } |