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/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 h1:YRe7du5KeSa2jHKEccOSL6/1fNM1Qaj0JqSGTdmtaws=
|
||||||
github.com/aws/aws-sdk-go v1.42.32/go.mod h1:OGr6lGMAKGlG9CVrYnWYDKIyb829c6EVBRjxqjmPepc=
|
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=
|
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 (
|
import (
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"github.com/apsdehal/go-logger"
|
||||||
"github.com/aws/aws-sdk-go/aws"
|
"github.com/aws/aws-sdk-go/aws"
|
||||||
"github.com/aws/aws-sdk-go/aws/credentials"
|
"github.com/aws/aws-sdk-go/aws/credentials"
|
||||||
"github.com/aws/aws-sdk-go/aws/session"
|
"github.com/aws/aws-sdk-go/aws/session"
|
||||||
"github.com/aws/aws-sdk-go/service/s3/s3manager"
|
"github.com/aws/aws-sdk-go/service/s3/s3manager"
|
||||||
)
|
)
|
||||||
|
|
||||||
var l *log.Logger
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
target string
|
target string
|
||||||
acl string
|
acl string
|
||||||
|
@ -24,6 +22,7 @@ var (
|
||||||
keyid string
|
keyid string
|
||||||
secret string
|
secret string
|
||||||
threads int
|
threads int
|
||||||
|
debug bool
|
||||||
)
|
)
|
||||||
|
|
||||||
const helpMessage string = `
|
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(&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(&keyid, "keyid", envVar("AWS_ACCESS_KEY_ID", ""), "API key ID.")
|
||||||
flag.StringVar(&secret, "secret", envVar("AWS_SECRET_ACCESS_KEY", ""), "API secret key.")
|
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()
|
flag.Parse()
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func logInit() *logger.Logger {
|
||||||
l = log.New(os.Stderr, "", log.Lshortfile)
|
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()
|
flagsInit()
|
||||||
|
log := logInit()
|
||||||
|
|
||||||
if len(keyid) == 0 {
|
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)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
if len(secret) == 0 {
|
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)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,12 +87,14 @@ func main() {
|
||||||
Region: aws.String(region),
|
Region: aws.String(region),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.DebugF("Connecting to: %s (region: %s)", endpoint, region)
|
||||||
|
|
||||||
newSession := session.New(s3Config)
|
newSession := session.New(s3Config)
|
||||||
uploader := s3manager.NewUploader(newSession)
|
uploader := s3manager.NewUploader(newSession)
|
||||||
|
|
||||||
file, err := os.Open(target)
|
file, err := os.Open(target)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
l.Println("Failed to open file: ", err)
|
log.ErrorF("Failed to open file: %v", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,9 +107,10 @@ func main() {
|
||||||
u.Concurrency = threads
|
u.Concurrency = threads
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
l.Println("Failed to upload file: ", err)
|
log.ErrorF("Failed to upload file: %v", err)
|
||||||
os.Exit(1)
|
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