75 lines
1.8 KiB
Diff
75 lines
1.8 KiB
Diff
From 52e08b0e3d4e44d555efde15a4ab698500d060db Mon Sep 17 00:00:00 2001
|
|
From: jingrui <jingrui@huawei.com>
|
|
Date: Tue, 15 Jan 2019 15:16:54 +0800
|
|
Subject: [PATCH 83/94] log: fix runc log decode failed
|
|
|
|
reason: plain logs can not parsed by containerd, using json formatted
|
|
error logs.
|
|
|
|
Change-Id: I293454c038c3b4f36a8ac9df07fc3557c51179e1
|
|
Signed-off-by: jingrui <jingrui@huawei.com>
|
|
---
|
|
main.go | 30 +++++++++++++++++++++++++-----
|
|
1 file changed, 25 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/main.go b/main.go
|
|
index 5f0ec91..0476242 100644
|
|
--- a/main.go
|
|
+++ b/main.go
|
|
@@ -1,15 +1,18 @@
|
|
package main
|
|
|
|
import (
|
|
+ "encoding/json"
|
|
"fmt"
|
|
- "github.com/Sirupsen/logrus"
|
|
- "github.com/Sirupsen/logrus/hooks/syslog"
|
|
- "github.com/opencontainers/runtime-spec/specs-go"
|
|
- "github.com/urfave/cli"
|
|
"io"
|
|
"log/syslog"
|
|
"os"
|
|
"strings"
|
|
+ "time"
|
|
+
|
|
+ "github.com/Sirupsen/logrus"
|
|
+ "github.com/Sirupsen/logrus/hooks/syslog"
|
|
+ "github.com/opencontainers/runtime-spec/specs-go"
|
|
+ "github.com/urfave/cli"
|
|
)
|
|
|
|
// version will be populated by the Makefile, read from
|
|
@@ -123,7 +126,7 @@ func main() {
|
|
logrus.SetOutput(f)
|
|
hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc")
|
|
if serr != nil {
|
|
- fmt.Fprint(f, fmt.Sprintf("new syslog hook get %s", serr))
|
|
+ logToFile(f, "error", fmt.Sprintf("new syslog hook get %s", serr))
|
|
} else {
|
|
logrus.AddHook(hook)
|
|
}
|
|
@@ -167,3 +170,20 @@ func (f *FatalWriter) Write(p []byte) (n int, err error) {
|
|
logrus.Error(string(p))
|
|
return f.cliErrWriter.Write(p)
|
|
}
|
|
+
|
|
+func logToFile(f io.Writer, level string, msg string) {
|
|
+ var (
|
|
+ log struct {
|
|
+ Level string
|
|
+ Msg string
|
|
+ Time time.Time
|
|
+ }
|
|
+ )
|
|
+ log.Level = level
|
|
+ log.Msg = msg
|
|
+ log.Time = time.Now()
|
|
+ s, err := json.Marshal(log)
|
|
+ if err != nil {
|
|
+ fmt.Fprint(f, string(s))
|
|
+ }
|
|
+}
|
|
--
|
|
2.7.4.3
|
|
|