summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Vosmaer <jacob@gitlab.com>2017-05-03 16:06:23 +0200
committerJacob Vosmaer <jacob@gitlab.com>2017-05-23 15:26:35 +0200
commit33d583bf077b5f7b7fbb7eda2afb209944caf79e (patch)
treeb066f19660c58affb8d43d6e52b1bfc967739e36
parent25a32cfa1e0b1c7e6af723053bad0f432ffd0b32 (diff)
downloadgitlab-shell-33d583bf077b5f7b7fbb7eda2afb209944caf79e.tar.gz
Change signature of logger.Fatal
-rw-r--r--go/cmd/gitaly-receive-pack/main.go6
-rw-r--r--go/cmd/gitaly-upload-pack/main.go6
-rw-r--r--go/internal/logger/logger.go21
3 files changed, 17 insertions, 16 deletions
diff --git a/go/cmd/gitaly-receive-pack/main.go b/go/cmd/gitaly-receive-pack/main.go
index 741c627..11a0f7b 100644
--- a/go/cmd/gitaly-receive-pack/main.go
+++ b/go/cmd/gitaly-receive-pack/main.go
@@ -16,15 +16,15 @@ func init() {
func main() {
if err := handler.Prepare(); err != nil {
- logger.Fatal(err)
+ logger.Fatal("preparation failed", err)
}
var request pb.SSHReceivePackRequest
if err := json.Unmarshal([]byte(os.Args[2]), &request); err != nil {
- logger.Fatal(err)
+ logger.Fatal("unmarshaling request json failed", err)
}
if err := handler.ReceivePack(os.Args[1], &request); err != nil {
- logger.Fatal(err)
+ logger.Fatal("receive-pack failed", err)
}
}
diff --git a/go/cmd/gitaly-upload-pack/main.go b/go/cmd/gitaly-upload-pack/main.go
index c588bb1..80ead2b 100644
--- a/go/cmd/gitaly-upload-pack/main.go
+++ b/go/cmd/gitaly-upload-pack/main.go
@@ -16,15 +16,15 @@ func init() {
func main() {
if err := handler.Prepare(); err != nil {
- logger.Fatal(err)
+ logger.Fatal("preparation failed", err)
}
var request pb.SSHUploadPackRequest
if err := json.Unmarshal([]byte(os.Args[2]), &request); err != nil {
- logger.Fatal(err)
+ logger.Fatal("unmarshaling request json failed", err)
}
if err := handler.UploadPack(os.Args[1], &request); err != nil {
- logger.Fatal(err)
+ logger.Fatal("upload-pack failed", err)
}
}
diff --git a/go/internal/logger/logger.go b/go/internal/logger/logger.go
index bff3c2d..6a4f2e3 100644
--- a/go/internal/logger/logger.go
+++ b/go/internal/logger/logger.go
@@ -31,24 +31,26 @@ func Configure(cfg *config.Config) error {
return err
}
-func logPrint(msg ...interface{}) {
+func logPrint(msg string, err error) {
mutex.Lock()
defer mutex.Unlock()
if logWriter == nil {
- bootstrapLogPrint(msg...)
+ bootstrapLogPrint(msg, err)
return
}
// Emulate the existing log format of gitlab-shell
t := time.Now().Format("2006-01-02T15:04:05.999999")
- prefix := fmt.Sprintf("E, [%s #%d] ERROR -- : %s: ", t, pid, ProgName)
- fmt.Fprintln(logWriter, append([]interface{}{prefix}, msg...)...)
+ prefix := fmt.Sprintf("E, [%s #%d] ERROR -- : %s:", t, pid, ProgName)
+ fmt.Fprintf(logWriter, "%s %s: %v\n", prefix, msg, err)
}
-func Fatal(msg ...interface{}) {
- logPrint(msg...)
- fmt.Fprintf(os.Stderr, "%s: fatal error\n", ProgName)
+func Fatal(msg string, err error) {
+ logPrint(msg, err)
+ // We don't show the error to the end user because it can leak
+ // information that is private to the GitLab server.
+ fmt.Fprintf(os.Stderr, "%s: fatal: %s\n", ProgName, msg)
os.Exit(1)
}
@@ -57,7 +59,7 @@ func Fatal(msg ...interface{}) {
// function attemps to log to syslog.
//
// We assume the logging mutex is already locked.
-func bootstrapLogPrint(msg ...interface{}) {
+func bootstrapLogPrint(msg string, err error) {
if bootstrapLogger == nil {
var err error
bootstrapLogger, err = syslog.NewLogger(syslog.LOG_ERR|syslog.LOG_USER, 0)
@@ -67,6 +69,5 @@ func bootstrapLogPrint(msg ...interface{}) {
}
}
- args := append([]interface{}{ProgName + ":"}, msg...)
- bootstrapLogger.Print(args)
+ bootstrapLogger.Print(ProgName+":", msg+":", err)
}