diff --git a/go.mod b/go.mod
index 849f6380956eb4bedc2fe5e39aa345e391c7fe14..564378686409cae6033b29968cdfa099cabed6a9 100644
--- a/go.mod
+++ b/go.mod
@@ -1,20 +1,27 @@
 module info-manager-proxy
 
-go 1.22.0
+go 1.23.0
+
+require (
+	github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0
+	github.com/sirupsen/logrus v1.7.0
+	github.com/stretchr/testify v1.9.0
+	go.elastic.co/ecslogrus v1.0.0
+	google.golang.org/grpc v1.64.0
+	gopkg.in/yaml.v3 v3.0.1
+)
+
+require github.com/magefile/mage v1.9.0 // indirect
 
 require (
 	github.com/davecgh/go-spew v1.1.1 // indirect
-	github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 // indirect
 	github.com/kelseyhightower/envconfig v1.4.0
 	github.com/pmezard/go-difflib v1.0.0 // indirect
-	github.com/stretchr/testify v1.9.0 // indirect
 	golang.org/x/net v0.26.0 // indirect
 	golang.org/x/sys v0.21.0 // indirect
 	golang.org/x/text v0.16.0 // indirect
 	google.golang.org/genproto/googleapis/api v0.0.0-20240513163218-0867130af1f8 // indirect
 	google.golang.org/genproto/googleapis/rpc v0.0.0-20240513163218-0867130af1f8 // indirect
-	google.golang.org/grpc v1.64.0 // indirect
 	google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.4.0 // indirect
 	google.golang.org/protobuf v1.34.2 // indirect
-	gopkg.in/yaml.v3 v3.0.1 // indirect
 )
diff --git a/go.sum b/go.sum
index 96e321835b1641b097867e86d0d3f285cfbf5614..1ee656dceb97cd414e77d3fdd109fd071a75ee7b 100644
--- a/go.sum
+++ b/go.sum
@@ -1,15 +1,30 @@
+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 h1:bkypFPDjIYGfCYD5mRBvpqxfYX1YCS1PXdKYWi8FsN0=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0/go.mod h1:P+Lt/0by1T8bfcF3z737NnSbmxQAppXMRziHUxPOC8k=
 github.com/kelseyhightower/envconfig v1.4.0 h1:Im6hONhd3pLkfDFsbRgu68RDNkGF1r3dvMUtDTo2cv8=
 github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg=
+github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
+github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
+github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+github.com/magefile/mage v1.9.0 h1:t3AU2wNwehMCW97vuqQLtw6puppWXHO+O2MHo5a50XE=
+github.com/magefile/mage v1.9.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A=
+github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM=
+github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
+github.com/stretchr/testify v1.5.0/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
 github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
 github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
+go.elastic.co/ecslogrus v1.0.0 h1:o1qvcCNaq+eyH804AuK6OOiUupLIXVDfYjDtSLPwukM=
+go.elastic.co/ecslogrus v1.0.0/go.mod h1:vMdpljurPbwu+iFmNc/HSWCkn1Fu/dYde1o/adaEczo=
 golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
 golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
+golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
 golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
@@ -29,5 +44,7 @@ google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHh
 google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
 google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/internal/config/config.go b/internal/config/config.go
index dec3a3a4ee7d79ce14549e26777a40131dc1fa97..ffb28f7aa0460ef7d6263dd99aab1d8eb33d375f 100644
--- a/internal/config/config.go
+++ b/internal/config/config.go
@@ -28,7 +28,8 @@ package config
 import (
 	"github.com/kelseyhightower/envconfig"
 	"gopkg.in/yaml.v3"
-	"log"
+	log "github.com/sirupsen/logrus"
+    "go.elastic.co/ecslogrus"
 	"os"
 	"regexp"
 	"testing"
@@ -57,6 +58,7 @@ type Config struct {
 
 func LoadConfig(configFilePath ...string) Config {
 	var config Config
+	log.SetFormatter(&ecslogrus.Formatter{})
 
 	configFile := defaultConfig
 
diff --git a/internal/logging/logger.go b/internal/logging/logger.go
deleted file mode 100644
index aedbf57d1b6247f836c11b17f62c65e44e140854..0000000000000000000000000000000000000000
--- a/internal/logging/logger.go
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (C) 2023-2024
- * Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-
-package logging
-
-import (
-	"info-manager-proxy/internal/config"
-	"fmt"
-	"log"
-	"os"
-	"sync"
-)
-
-const (
-	logLevelNumError = iota
-	logLevelNumWarning
-	logLevelNumInfo
-	logLevelNumDebug
-	LogLevelError   = "ERROR"
-	LogLevelWarning = "WARN"
-	LogLevelInfo    = "INFO"
-	LogLevelDebug   = "DEBUG"
-)
-
-type Logger struct {
-	BaseLogger *log.Logger
-	level      int
-}
-
-var (
-	logger *Logger
-	once   sync.Once
-)
-
-func GetLogger() *Logger {
-	initializeLogger()
-
-	return logger
-}
-
-func initializeLogger() {
-	once.Do(func() {
-		logger = &Logger{
-			BaseLogger: log.New(os.Stdout, "", log.LstdFlags),
-			level:      getLoggingLevel(),
-		}
-	})
-}
-
-func getLoggingLevel() int {
-	logLevelMap := map[string]int{
-		LogLevelError:   logLevelNumError,
-		LogLevelWarning: logLevelNumWarning,
-		LogLevelInfo:    logLevelNumInfo,
-		LogLevelDebug:   logLevelNumDebug,
-	}
-
-	conf := config.LoadConfig()
-	logLevel, exists := logLevelMap[conf.Logging.Level]
-	if !exists {
-		logLevel = logLevelMap[LogLevelInfo]
-	}
-
-	return logLevel
-}
-
-func (l *Logger) log(level int, prefix, format string, v ...any) {
-	if l.level >= level {
-		l.BaseLogger.Println(fmt.Sprintf("%v: %v", prefix, fmt.Sprintf(format, v...)))
-	}
-}
-
-func (l *Logger) Fatal(format string, v ...any) {
-	l.BaseLogger.Fatalln(fmt.Sprintf("FATAL: "+format, v...))
-}
-
-func (l *Logger) Error(format string, v ...any) {
-	l.log(logLevelNumError, "ERROR", format, v...)
-}
-
-func (l *Logger) Warning(format string, v ...any) {
-	l.log(logLevelNumWarning, "WARNING", format, v...)
-}
-
-func (l *Logger) Info(format string, v ...any) {
-	l.log(logLevelNumInfo, "INFO", format, v...)
-}
-
-func (l *Logger) Debug(format string, v ...any) {
-	l.log(logLevelNumDebug, "DEBUG", format, v...)
-}
diff --git a/internal/logging/logger_test.go b/internal/logging/logger_test.go
deleted file mode 100644
index e760453a43169d8578a1679e3537de0bb07f9918..0000000000000000000000000000000000000000
--- a/internal/logging/logger_test.go
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2023-2024
- * Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-
-package logging
-
-import (
-	"bytes"
-	"github.com/stretchr/testify/assert"
-	"testing"
-)
-
-func logMessage(level string, msg string) *bytes.Buffer {
-	logger := GetLogger()
-
-	var buf bytes.Buffer
-	logger.BaseLogger.SetOutput(&buf)
-
-	originalFlags := logger.BaseLogger.Flags()
-	defer func() {
-		logger.BaseLogger.SetOutput(nil)
-		logger.BaseLogger.SetFlags(originalFlags)
-	}()
-
-	if level == LogLevelError {
-		logger.Error(msg)
-	} else if level == LogLevelWarning {
-		logger.Warning(msg)
-	} else if level == LogLevelInfo {
-		logger.Info(msg)
-	} else {
-		logger.Debug(msg)
-	}
-
-	return &buf
-}
-
-func TestError(t *testing.T) {
-	buf := logMessage(LogLevelError, "test error")
-	logOutput := buf.String()
-	assert.Contains(t, logOutput, "ERROR: test error")
-}
-
-func TestWarning(t *testing.T) {
-	buf := logMessage(LogLevelWarning, "test warning")
-	logOutput := buf.String()
-	assert.Contains(t, logOutput, "WARNING: test warning")
-}
-
-func TestInfo(t *testing.T) {
-	buf := logMessage(LogLevelInfo, "test info")
-	logOutput := buf.String()
-	assert.Contains(t, logOutput, "INFO: test info")
-}
-
-func TestDebug(t *testing.T) {
-	buf := logMessage(LogLevelDebug, "test debug")
-	logOutput := buf.String()
-	assert.Empty(t, logOutput)
-}
diff --git a/internal/logging/testdata/config.yml b/internal/logging/testdata/config.yml
deleted file mode 100644
index 6f5d5d32e43399a0dc52da8c6b66ee0128854cc4..0000000000000000000000000000000000000000
--- a/internal/logging/testdata/config.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-server:
-  port: 8082
-grpc:
-  url: "localhost:50051"
-logging:
-  level: "INFO"
\ No newline at end of file
diff --git a/internal/mock/globals.go b/internal/mock/globals.go
deleted file mode 100644
index 024c66e9075e1c6f4df7922d5239f38447f16485..0000000000000000000000000000000000000000
--- a/internal/mock/globals.go
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (C) 2023-2024
- * Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-
-package mock
-
-import "info-manager-proxy/internal/logging"
-
-var logger = logging.GetLogger()
diff --git a/internal/mock/grpc_server.go b/internal/mock/grpc_server.go
index 445dc425bd399173cc3af16787db157dd9053eb0..ae0bacf2ac410dec0279ad2b87ecdd26b2cb285e 100644
--- a/internal/mock/grpc_server.go
+++ b/internal/mock/grpc_server.go
@@ -26,6 +26,7 @@
 package mock
 
 import (
+    log "github.com/sirupsen/logrus"
 	"context"
 	"fmt"
 	"google.golang.org/grpc"
@@ -69,12 +70,12 @@ func StartGrpcServer() *grpc.Server {
 
 	lis, err := net.Listen("tcp", fmt.Sprintf(":%d", GrpcMockPort))
 	if err != nil {
-		logger.Fatal("gRPC server failed to listen: %v", err)
+		log.Fatal(fmt.Sprintf("gRPC server failed to listen: %v", err))
 	}
 
-	logger.Info("gRPC server listening on port %v", GrpcMockPort)
+	log.Info(fmt.Sprintf("gRPC server listening on port %v", GrpcMockPort))
 	if err := s.Serve(lis); err != nil {
-		logger.Fatal("gRPC server failed to serve: %v", err)
+		log.Fatal(fmt.Sprintf("gRPC server failed to serve: %v", err))
 	}
 
 	return s
diff --git a/internal/server/globals.go b/internal/server/globals.go
deleted file mode 100644
index eaa39597f85aae40529aa400ae55d7618f580e43..0000000000000000000000000000000000000000
--- a/internal/server/globals.go
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (C) 2023-2024
- * Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-
-package server
-
-import "info-manager-proxy/internal/logging"
-
-var logger = logging.GetLogger()
diff --git a/internal/server/handler.go b/internal/server/handler.go
index 5b79e4cf4f0954eda755ec6c515dc626179d0644..c05537b0435ecd4092f86da62ecaba15e23001da 100644
--- a/internal/server/handler.go
+++ b/internal/server/handler.go
@@ -34,6 +34,7 @@ import (
 	"google.golang.org/grpc/credentials/insecure"
 	"google.golang.org/grpc/status"
 	pb "info-manager-proxy/gen/go"
+	log "github.com/sirupsen/logrus"
 	"net/http"
 )
 
@@ -41,14 +42,14 @@ func RegisterHomeEndpoint(mux *runtime.ServeMux) {
 	err := mux.HandlePath("GET", "/", func(w http.ResponseWriter, r *http.Request, pathParams map[string]string) {
 		defer func() {
 			if err := recover(); err != nil {
-				logger.Error("failed to recover: %v", err)
+				log.Error("failed to recover: %v", err)
 				http.Error(w, fmt.Sprintf("failed to recover: %v", err), http.StatusInternalServerError)
 			}
 		}()
 	})
 
 	if err != nil {
-		logger.Fatal("failed to register home endpoint: %v", err)
+		log.Fatal("failed to register home endpoint: %v", err)
 	}
 }
 
@@ -56,7 +57,7 @@ func RegisterInformationEndpoints(ctx context.Context, mux *runtime.ServeMux, gr
 	opts := []grpc.DialOption{grpc.WithTransportCredentials(insecure.NewCredentials())}
 	err := pb.RegisterInformationServiceHandlerFromEndpoint(ctx, mux, grpcUrl, opts)
 	if err != nil {
-		logger.Fatal("failed to register information endpoints: %v", err)
+		log.Fatal(fmt.Sprintf("failed to register information endpoints: %v", err))
 	}
 }
 
@@ -84,6 +85,6 @@ func ErrorHandler(ctx context.Context, mux *runtime.ServeMux, marshaler runtime.
 
 	_, writeErr := w.Write([]byte(st.Message()))
 	if writeErr != nil {
-		logger.Fatal("failed to handle grpc error: %v", writeErr)
+		log.Fatal(fmt.Sprintf("failed to handle grpc error: %v", writeErr))
 	}
 }
diff --git a/internal/server/http_gateway.go b/internal/server/http_gateway.go
index bcbbf998025a7b88da00f85f5442359bc6ea6f6c..af3a8cbf2123acfe4bbe8db2c8580c899570abb5 100644
--- a/internal/server/http_gateway.go
+++ b/internal/server/http_gateway.go
@@ -31,7 +31,7 @@ import (
 	"info-manager-proxy/internal/config"
 	"info-manager-proxy/internal/mock"
 	"net/http"
-
+    log "github.com/sirupsen/logrus"
 	"github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
 )
 
@@ -54,9 +54,9 @@ func StartHttpGateway(conf config.Config) *http.Server {
 		Handler: RequestLoggingMiddleware(mux),
 	}
 
-	logger.Info("HTTP gateway listening on port %d", conf.Server.Port)
+	log.Info(fmt.Sprintf("HTTP gateway listening on port %d", conf.Server.Port))
 	if err := httpServer.ListenAndServe(); err != nil {
-		logger.Fatal("HTTP gateway failed to serve: %v", err)
+		log.Fatal(fmt.Sprintf("HTTP gateway failed to serve: %v", err))
 	}
 
 	return httpServer
diff --git a/internal/server/middleware.go b/internal/server/middleware.go
index 41710750de6006fed161507fd8ba65846ef1601b..e92479864b281cf44d22f0b8cac9f8620306fa85 100644
--- a/internal/server/middleware.go
+++ b/internal/server/middleware.go
@@ -30,6 +30,7 @@ import (
 	"fmt"
 	"io"
 	"net/http"
+	log "github.com/sirupsen/logrus"
 )
 
 const HomeUrlPath = "/"
@@ -53,21 +54,21 @@ func RequestLoggingMiddleware(h http.Handler) http.Handler {
 
 		body, err := io.ReadAll(r.Body)
 		if err != nil {
-			logger.Error("failed to read %v request body for %v: %v", r.Method, r.URL.Path, err)
+			log.Error(fmt.Sprintf("failed to read %v request body for %v: %v", r.Method, r.URL.Path, err))
 			http.Error(w, fmt.Sprintf("failed to read request body: %v", err), http.StatusBadRequest)
 			return
 		}
 		r.Body = io.NopCloser(bytes.NewReader(body))
 
-		logger.Debug("received %v request for %v with body: %v", r.Method, r.URL.Path, string(body))
+		log.Debug(fmt.Sprintf("received %v request for %v with body: %v", r.Method, r.URL.Path, string(body)))
 
 		lw := &logResponseWriter{w, http.StatusOK}
 		h.ServeHTTP(lw, r)
 
 		if lw.statusCode == http.StatusOK {
-			logger.Debug("successfully handled %v request for %v with body: %v", r.Method, r.URL.Path, string(body))
+			log.Debug(fmt.Sprintf("successfully handled %v request for %v with body: %v", r.Method, r.URL.Path, string(body)))
 		} else {
-			logger.Error("failed handling %v request for %v with body: %v, status code: %d", r.Method, r.URL.Path, string(body), lw.statusCode)
+			log.Error(fmt.Sprintf("failed handling %v request for %v with body: %v, status code: %d", r.Method, r.URL.Path, string(body), lw.statusCode))
 		}
 	})
 }
diff --git a/internal/server/middleware_test.go b/internal/server/middleware_test.go
index 0a304adc5bce634cccef8490507a353e9c3603e2..b1d3bd0bd93999e0b39276f299ae6409afc4c132 100644
--- a/internal/server/middleware_test.go
+++ b/internal/server/middleware_test.go
@@ -31,6 +31,7 @@ import (
 	"info-manager-proxy/internal/mock"
 	"net/http"
 	"testing"
+	log "github.com/sirupsen/logrus"
 )
 
 func TestRequestLoggingMiddleware(t *testing.T) {
@@ -39,12 +40,12 @@ func TestRequestLoggingMiddleware(t *testing.T) {
 		SetUpHttpGateway()
 
 		var buf bytes.Buffer
-		logger.BaseLogger.SetOutput(&buf)
+		log.Baselog.SetOutput(&buf)
 
-		originalFlags := logger.BaseLogger.Flags()
+		originalFlags := log.Baselog.Flags()
 		defer func() {
-			logger.BaseLogger.SetOutput(nil)
-			logger.BaseLogger.SetFlags(originalFlags)
+			log.Baselog.SetOutput(nil)
+			log.Baselog.SetFlags(originalFlags)
 		}()
 
 		http.Get("http://localhost:8082/api/v1/information/testId")
@@ -59,12 +60,12 @@ func TestRequestLoggingMiddleware(t *testing.T) {
 		SetUpHttpGateway()
 
 		var buf bytes.Buffer
-		logger.BaseLogger.SetOutput(&buf)
+		log.Baselog.SetOutput(&buf)
 
-		originalFlags := logger.BaseLogger.Flags()
+		originalFlags := log.Baselog.Flags()
 		defer func() {
-			logger.BaseLogger.SetOutput(nil)
-			logger.BaseLogger.SetFlags(originalFlags)
+			log.Baselog.SetOutput(nil)
+			log.Baselog.SetFlags(originalFlags)
 		}()
 
 		http.Get("http://localhost:8082/")