mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
beam/examples/beamsh: hide debug messages in examples/beamsh by default
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
This commit is contained in:
parent
97a2c0ebe6
commit
cb66e8c136
1 changed files with 21 additions and 15 deletions
|
@ -17,7 +17,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
Logf("Initializing engine\n")
|
Debugf("Initializing engine\n")
|
||||||
client, engine, err := beam.USocketPair()
|
client, engine, err := beam.USocketPair()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
Fatal(err)
|
Fatal(err)
|
||||||
|
@ -25,7 +25,7 @@ func main() {
|
||||||
defer client.Close()
|
defer client.Close()
|
||||||
go func() {
|
go func() {
|
||||||
Serve(engine, builtinsHandler)
|
Serve(engine, builtinsHandler)
|
||||||
Logf("Shutting down engine\n")
|
Debugf("Shutting down engine\n")
|
||||||
engine.Close()
|
engine.Close()
|
||||||
}()
|
}()
|
||||||
if term.IsTerminal(0) {
|
if term.IsTerminal(0) {
|
||||||
|
@ -39,7 +39,7 @@ func main() {
|
||||||
if len(line) != 0 {
|
if len(line) != 0 {
|
||||||
cmd, err := dockerscript.Parse(strings.NewReader(line))
|
cmd, err := dockerscript.Parse(strings.NewReader(line))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
Logf("error: %v\n", err)
|
fmt.Fprintf(os.Stderr, "error: %v\n", err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
executeScript(client, cmd)
|
executeScript(client, cmd)
|
||||||
|
@ -60,7 +60,7 @@ func main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func executeScript(client *net.UnixConn, script []*dockerscript.Command) {
|
func executeScript(client *net.UnixConn, script []*dockerscript.Command) {
|
||||||
Logf("%d commands:\n", len(script))
|
Debugf("%d commands:\n", len(script))
|
||||||
for _, cmd := range script {
|
for _, cmd := range script {
|
||||||
job, err := beam.SendPipe(client, []byte(strings.Join(cmd.Args, " ")))
|
job, err := beam.SendPipe(client, []byte(strings.Join(cmd.Args, " ")))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -68,9 +68,9 @@ func executeScript(client *net.UnixConn, script []*dockerscript.Command) {
|
||||||
}
|
}
|
||||||
// TODO: pass a default handler to deal with 'status'
|
// TODO: pass a default handler to deal with 'status'
|
||||||
// --> use beam chaining?
|
// --> use beam chaining?
|
||||||
Logf("Listening for reply messages\n")
|
Debugf("Listening for reply messages\n")
|
||||||
Serve(job, builtinsHandler)
|
Serve(job, builtinsHandler)
|
||||||
Logf("[%s] done\n", strings.Join(cmd.Args, " "))
|
Debugf("[%s] done\n", strings.Join(cmd.Args, " "))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -109,7 +109,7 @@ func CmdEcho(args []string, f *os.File) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
Logf("[CmdEcho] stdout pipe() r=%d w=%d\n", r.Fd(), w.Fd())
|
Debugf("[CmdEcho] stdout pipe() r=%d w=%d\n", r.Fd(), w.Fd())
|
||||||
if err := beam.Send(resp, []byte("log stdout"), r); err != nil {
|
if err := beam.Send(resp, []byte("log stdout"), r); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -150,7 +150,7 @@ func parseEnv(args []string) ([]string, map[string]string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func CmdLog(args []string, f *os.File) {
|
func CmdLog(args []string, f *os.File) {
|
||||||
defer Logf("CmdLog done\n")
|
defer Debugf("CmdLog done\n")
|
||||||
name := args[1]
|
name := args[1]
|
||||||
input := bufio.NewScanner(f)
|
input := bufio.NewScanner(f)
|
||||||
for input.Scan() {
|
for input.Scan() {
|
||||||
|
@ -166,8 +166,8 @@ func CmdLog(args []string, f *os.File) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func Serve(endpoint *net.UnixConn, handler func([]string, *os.File)) error {
|
func Serve(endpoint *net.UnixConn, handler func([]string, *os.File)) error {
|
||||||
Logf("[Serve %#v]\n", handler)
|
Debugf("[Serve %#v]\n", handler)
|
||||||
defer Logf("[Serve %#v] done\n", handler)
|
defer Debugf("[Serve %#v] done\n", handler)
|
||||||
var tasks sync.WaitGroup
|
var tasks sync.WaitGroup
|
||||||
defer tasks.Wait()
|
defer tasks.Wait()
|
||||||
for {
|
for {
|
||||||
|
@ -178,15 +178,15 @@ func Serve(endpoint *net.UnixConn, handler func([]string, *os.File)) error {
|
||||||
tasks.Add(1)
|
tasks.Add(1)
|
||||||
// Handle new message
|
// Handle new message
|
||||||
go func(payload []byte, attachment *os.File) {
|
go func(payload []byte, attachment *os.File) {
|
||||||
Logf("---> Handling '%s' [fd=%d]\n", payload, attachment.Fd())
|
Debugf("---> Handling '%s' [fd=%d]\n", payload, attachment.Fd())
|
||||||
defer tasks.Done()
|
defer tasks.Done()
|
||||||
if attachment != nil {
|
if attachment != nil {
|
||||||
defer func() {
|
defer func() {
|
||||||
Logf("---> Closing attachment [fd=%d] for msg '%s'\n", attachment.Fd(), payload)
|
Debugf("---> Closing attachment [fd=%d] for msg '%s'\n", attachment.Fd(), payload)
|
||||||
attachment.Close()
|
attachment.Close()
|
||||||
}()
|
}()
|
||||||
} else {
|
} else {
|
||||||
defer Logf("---> No attachment to close for msg '%s'\n", payload)
|
defer Debugf("---> No attachment to close for msg '%s'\n", payload)
|
||||||
}
|
}
|
||||||
args, err := parseMsgPayload(payload)
|
args, err := parseMsgPayload(payload)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -196,9 +196,9 @@ func Serve(endpoint *net.UnixConn, handler func([]string, *os.File)) error {
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
Logf("---> calling handler for '%s'\n", args[0])
|
Debugf("---> calling handler for '%s'\n", args[0])
|
||||||
handler(args, attachment)
|
handler(args, attachment)
|
||||||
Logf("---> handler returned for '%s'\n", args[0])
|
Debugf("---> handler returned for '%s'\n", args[0])
|
||||||
}(payload, attachment)
|
}(payload, attachment)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
@ -225,6 +225,12 @@ func Logf(msg string, args ...interface{}) (int, error) {
|
||||||
return fmt.Printf(msg, args...)
|
return fmt.Printf(msg, args...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Debugf(msg string, args ...interface{}) {
|
||||||
|
if os.Getenv("DEBUG") != "" {
|
||||||
|
Logf(msg, args...)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func Fatalf(msg string, args ...interface{}) {
|
func Fatalf(msg string, args ...interface{}) {
|
||||||
Logf(msg, args)
|
Logf(msg, args)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
|
Loading…
Add table
Reference in a new issue