mirror of https://github.com/status-im/go-s3up.git
use go-logger to add debug level logs
Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit is contained in:
parent
7dd471bb78
commit
d0a4deae19
|
@ -0,0 +1 @@
|
|||
go-s3up
|
5
go.mod
5
go.mod
|
@ -4,4 +4,7 @@ go 1.17
|
|||
|
||||
require github.com/aws/aws-sdk-go v1.42.32
|
||||
|
||||
require github.com/jmespath/go-jmespath v0.4.0 // indirect
|
||||
require (
|
||||
github.com/apsdehal/go-logger v0.0.0-20190515211354-1abdf898e024 // indirect
|
||||
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
||||
)
|
||||
|
|
2
go.sum
2
go.sum
|
@ -1,3 +1,5 @@
|
|||
github.com/apsdehal/go-logger v0.0.0-20190515211354-1abdf898e024 h1:dfZ6RF0UxHqt7xPz0r7h00apsaa6rIrFhT6Xly55Exk=
|
||||
github.com/apsdehal/go-logger v0.0.0-20190515211354-1abdf898e024/go.mod h1:U3/8D6R9+bVpX0ORZjV+3mU9pQ86m7h1lESgJbXNvXA=
|
||||
github.com/aws/aws-sdk-go v1.42.32 h1:YRe7du5KeSa2jHKEccOSL6/1fNM1Qaj0JqSGTdmtaws=
|
||||
github.com/aws/aws-sdk-go v1.42.32/go.mod h1:OGr6lGMAKGlG9CVrYnWYDKIyb829c6EVBRjxqjmPepc=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
|
|
36
main.go
36
main.go
|
@ -3,18 +3,16 @@ package main
|
|||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/apsdehal/go-logger"
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/credentials"
|
||||
"github.com/aws/aws-sdk-go/aws/session"
|
||||
"github.com/aws/aws-sdk-go/service/s3/s3manager"
|
||||
)
|
||||
|
||||
var l *log.Logger
|
||||
|
||||
var (
|
||||
target string
|
||||
acl string
|
||||
|
@ -24,6 +22,7 @@ var (
|
|||
keyid string
|
||||
secret string
|
||||
threads int
|
||||
debug bool
|
||||
)
|
||||
|
||||
const helpMessage string = `
|
||||
|
@ -52,21 +51,33 @@ func flagsInit() {
|
|||
flag.StringVar(&endpoint, "endpoint", envVar("AWS_DEFAULT_ENDPOINT", "ams3.digitaloceanspaces.com"), "S3 API endpoint.")
|
||||
flag.StringVar(&keyid, "keyid", envVar("AWS_ACCESS_KEY_ID", ""), "API key ID.")
|
||||
flag.StringVar(&secret, "secret", envVar("AWS_SECRET_ACCESS_KEY", ""), "API secret key.")
|
||||
flag.IntVar(&threads, "threads", 5, "Number of concurrent threads used for upload.")
|
||||
flag.IntVar(&threads, "threads", 20, "Number of concurrent threads used for upload.")
|
||||
flag.BoolVar(&debug, "debug", false, "Show debug log messages.")
|
||||
flag.Parse()
|
||||
}
|
||||
|
||||
func main() {
|
||||
l = log.New(os.Stderr, "", log.Lshortfile)
|
||||
func logInit() *logger.Logger {
|
||||
log, err := logger.New("go-s3up", 1, os.Stderr)
|
||||
if err != nil {
|
||||
panic(err) // Check for error
|
||||
}
|
||||
if debug {
|
||||
log.SetLogLevel(logger.DebugLevel)
|
||||
}
|
||||
log.SetFormat("[%{module}] %{level}: %{message}")
|
||||
return log
|
||||
}
|
||||
|
||||
func main() {
|
||||
flagsInit()
|
||||
log := logInit()
|
||||
|
||||
if len(keyid) == 0 {
|
||||
l.Println("Provide -keyid flag or AWS_ACCESS_KEY_ID env var")
|
||||
log.Warning("Provide -keyid flag or AWS_ACCESS_KEY_ID env var")
|
||||
os.Exit(1)
|
||||
}
|
||||
if len(secret) == 0 {
|
||||
l.Println("Provide -secret flag or AWS_SECRET_ACCESS_KEY env var")
|
||||
log.Warning("Provide -secret flag or AWS_SECRET_ACCESS_KEY env var")
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
|
@ -76,12 +87,14 @@ func main() {
|
|||
Region: aws.String(region),
|
||||
}
|
||||
|
||||
log.DebugF("Connecting to: %s (region: %s)", endpoint, region)
|
||||
|
||||
newSession := session.New(s3Config)
|
||||
uploader := s3manager.NewUploader(newSession)
|
||||
|
||||
file, err := os.Open(target)
|
||||
if err != nil {
|
||||
l.Println("Failed to open file: ", err)
|
||||
log.ErrorF("Failed to open file: %v", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
|
@ -94,9 +107,10 @@ func main() {
|
|||
u.Concurrency = threads
|
||||
})
|
||||
if err != nil {
|
||||
l.Println("Failed to upload file: ", err)
|
||||
log.ErrorF("Failed to upload file: %v", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
l.Println("Uploaded: ", aws.StringValue(&result.Location))
|
||||
log.DebugF("ETag: %s", aws.StringValue(result.ETag))
|
||||
log.InfoF("Uploaded: %s", aws.StringValue(&result.Location))
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue