summaryrefslogtreecommitdiffstats
path: root/pkg/tasks/tasks.go
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2020-09-26 10:23:10 +1000
committerJesse Duffield <jessedduffield@gmail.com>2020-09-26 11:00:50 +1000
commit077f11361805417c15234c62a9f9aa022f913d43 (patch)
tree2cf25beba4f96b55392f09d733a14c25c149de07 /pkg/tasks/tasks.go
parent0c6cbe7746660155df0645f01d37150099d21f49 (diff)
add in-built logging support for a better dev experience
Diffstat (limited to 'pkg/tasks/tasks.go')
-rw-r--r--pkg/tasks/tasks.go18
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
}