Skip to content

Commit

Permalink
feat(utils/logger): adding log system.
Browse files Browse the repository at this point in the history
  • Loading branch information
kehiy committed Jan 8, 2025
1 parent f49f868 commit 1963bad
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 25 deletions.
5 changes: 3 additions & 2 deletions cmd/commands/utils.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package commands

import (
"log"
"os"

"github.com/dezh-tech/immortal/pkg/logger"
)

func ExitOnError(err error) {
log.Printf("immortal error: %s\n", err.Error()) //nolint
logger.Error("immortal error", "err", err.Error())
os.Exit(1)
}
4 changes: 0 additions & 4 deletions cmd/relay/relay.go
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,6 @@ func (r *Relay) Start() chan error {
}
}()

logger.Info("relay started successfully")

return errCh
}

Expand All @@ -123,7 +121,5 @@ func (r *Relay) Stop() error {
return err
}

logger.Info("relay stopped successfully")

return nil
}
20 changes: 10 additions & 10 deletions delivery/grpc/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ package grpc

import (
"context"
"log"
"net"
"strconv"
"time"

rpb "github.com/dezh-tech/immortal/delivery/grpc/gen"
"github.com/dezh-tech/immortal/infrastructure/database"
"github.com/dezh-tech/immortal/infrastructure/redis"
"github.com/dezh-tech/immortal/pkg/logger"
"google.golang.org/grpc"
)

Expand Down Expand Up @@ -44,8 +44,6 @@ func (s *Server) Start() error {
return err
}

log.Println("grpc server started...")

grpcServer := grpc.NewServer(grpc.ChainUnaryInterceptor())

healthServer := newHealthServer(s)
Expand All @@ -55,18 +53,20 @@ func (s *Server) Start() error {
s.listener = listener
s.grpc = grpcServer

return s.grpc.Serve(listener)
logger.Info("gRPC server started successfully", "listen", listener.Addr().String())

if err := s.grpc.Serve(listener); err != nil {
return err
}

return nil
}

func (s *Server) Stop() error {
s.cancel()

log.Println("grpc server stopped...")
logger.Info("stopping gRPC server")

s.cancel()
s.grpc.Stop()
if err := s.listener.Close(); err != nil {
return err
}

return nil
}
12 changes: 6 additions & 6 deletions delivery/websocket/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,15 @@ func New(cfg Config, h *repository.Handler, m *metrics.Metrics,

// Start starts a new server instance.
func (s *Server) Start() error {
logger.Info("starting websocket server")

go s.checkExpiration()

addr := net.JoinHostPort(s.config.Bind, //nolint
strconv.Itoa(int(s.config.Port)))

logger.Info("websocket server started", "listen", addr)

http.Handle("/", s)
err := http.ListenAndServe(net.JoinHostPort(s.config.Bind, //nolint
strconv.Itoa(int(s.config.Port))), nil)
err := http.ListenAndServe(addr, nil)

Check failure on line 60 in delivery/websocket/server.go

View workflow job for this annotation

GitHub Actions / lint

G114: Use of net/http serve function that has no support for setting timeouts (gosec)

return err
}
Expand Down Expand Up @@ -175,7 +177,5 @@ func (s *Server) Stop() error {
client.Unlock()
}

logger.Info("websocket server stopped successfully")

return nil
}
15 changes: 12 additions & 3 deletions infrastructure/database/database.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ package database

import (
"context"
"log"
"time"

"github.com/dezh-tech/immortal/pkg/logger"
"github.com/dezh-tech/immortal/types"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
Expand All @@ -18,6 +18,8 @@ type Database struct {
}

func Connect(cfg Config) (*Database, error) {
logger.Info("connecting to database")

ctx, cancel := context.WithTimeout(context.Background(), time.Duration(cfg.ConnectionTimeout)*time.Millisecond)
defer cancel()

Expand Down Expand Up @@ -55,6 +57,9 @@ func Connect(cfg Config) (*Database, error) {
if err != nil {
cancel()

// todo::: skip `Index already exists with a different name` errors.
logger.Error("can't create index for id field", "err", err)

continue
}
cancel()
Expand All @@ -68,7 +73,11 @@ func Connect(cfg Config) (*Database, error) {
}

func (db *Database) Stop() error {
log.Println("closing database connection...")
logger.Info("closing database connection")

if err := db.Client.Disconnect(context.Background()); err != nil {
return err
}

return db.Client.Disconnect(context.Background())
return nil
}
9 changes: 9 additions & 0 deletions infrastructure/redis/redis.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"fmt"
"time"

"github.com/dezh-tech/immortal/pkg/logger"
"github.com/redis/go-redis/v9"
)

Expand All @@ -18,6 +19,8 @@ type Redis struct {
}

func New(cfg Config) (*Redis, error) {
logger.Info("connecting to redis")

opts, err := redis.ParseURL(cfg.URI)
if err != nil {
return nil, err
Expand All @@ -43,6 +46,12 @@ func New(cfg Config) (*Redis, error) {
}, nil
}

func (r *Redis) Close() error {
logger.Info("closing redis connection")

return r.Client.Close()
}

// ! note: delayed tasks probably are not concurrent safe at the moment.
func (r *Redis) AddDelayedTask(listName string,
data string, delay time.Duration,
Expand Down

0 comments on commit 1963bad

Please sign in to comment.