generated from PenaSide/GolangTemplate
add chance for adding build data for logging
This commit is contained in:
parent
a38a88019c
commit
c008ab69fb
1
.gitignore
vendored
1
.gitignore
vendored
@ -6,3 +6,4 @@ vendor/
|
||||
main
|
||||
|
||||
/versionrecover.bolt
|
||||
/recover.bolt
|
||||
|
@ -4,18 +4,33 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"go.uber.org/zap"
|
||||
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/app"
|
||||
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/initialize"
|
||||
)
|
||||
|
||||
var (
|
||||
commit string = os.Getenv("COMMIT")
|
||||
buildTime string = os.Getenv("BUILD_TIME")
|
||||
version string = os.Getenv("VERSION")
|
||||
)
|
||||
|
||||
// $env:COMMIT=$(git rev-parse --short HEAD); $env:BUILD_TIME=$(Get-Date -UFormat "%Y-%m-%dT%H:%M:%SZ"); $env:VERSION=$(git describe --tags); go run cmd/app/main.go
|
||||
|
||||
func main() {
|
||||
logger, err := zap.NewProduction(zap.AddStacktrace(zap.DPanicLevel))
|
||||
if err != nil {
|
||||
log.Fatalf("failed to init zap logger: %v", err)
|
||||
}
|
||||
|
||||
ptime, err := time.Parse(time.RFC3339, buildTime)
|
||||
if err != nil {
|
||||
logger.Fatal("Error parsing build time:", zap.Error(err))
|
||||
}
|
||||
|
||||
config, err := initialize.Configuration(".env.test")
|
||||
if err != nil {
|
||||
logger.Fatal("failed to init config: %v", zap.Error(err))
|
||||
@ -28,7 +43,11 @@ func main() {
|
||||
|
||||
fmt.Println("env configuration: \n", string(configJSON))
|
||||
|
||||
if err := app.Run(config, logger); err != nil {
|
||||
if err := app.Run(config, logger, app.Build{
|
||||
Commit: commit,
|
||||
Version: version,
|
||||
BuildTime: ptime.Unix(),
|
||||
}); err != nil {
|
||||
logger.Fatal("failed to run app: %v", zap.Error(err))
|
||||
}
|
||||
}
|
||||
|
@ -28,7 +28,13 @@ const (
|
||||
shutdownTimeout = 5 * time.Second
|
||||
)
|
||||
|
||||
func Run(config *models.Config, logger *zap.Logger) (appErr error) {
|
||||
type Build struct {
|
||||
Commit string
|
||||
Version string
|
||||
BuildTime int64
|
||||
}
|
||||
|
||||
func Run(config *models.Config, logger *zap.Logger, build Build) (appErr error) {
|
||||
defer func() {
|
||||
if recovered := recover(); recovered != nil {
|
||||
appErr = errors.New("recovered panic on application run")
|
||||
@ -41,7 +47,7 @@ func Run(config *models.Config, logger *zap.Logger) (appErr error) {
|
||||
ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM)
|
||||
defer cancel()
|
||||
|
||||
clickHouseLogger, err := zaptrashlog.NewCore(ctx, zap.InfoLevel, config.Service.TrashLogHost, "version", "Commit", time.Now().Unix())
|
||||
clickHouseLogger, err := zaptrashlog.NewCore(ctx, zap.InfoLevel, config.Service.TrashLogHost, build.Version, build.Commit, build.BuildTime)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
@ -49,9 +55,9 @@ func Run(config *models.Config, logger *zap.Logger) (appErr error) {
|
||||
//telegrammLogger, err := zaptg.NewCore(ctx,
|
||||
// zap.InfoLevel,
|
||||
// "1408111289:AAHfWZRiBQRncb2gl2LtU8OeASjfJi4e8YE",
|
||||
// "version.Release",
|
||||
// "version.Commit",
|
||||
// 0,
|
||||
// build.Version,
|
||||
// build.Commit,
|
||||
// build.BuildTime,
|
||||
// -1001256687920,
|
||||
//)
|
||||
//if err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user