openreplay/backend/pkg/redisstream/redis.go
Alexander 45c956c489
Json logs format (#1952)
* feat(backend): try a new approach for logs formatting (http)

* feat(backend): added logger module

* feat(backend): added project/session info to /i endpoint

* feat(backend): found a solution for correct caller information

* feat(backend): finished logs for http handlers

* feat(backend): finished logs for mobile http handlers

* feat(backend): finished ender

* feat(backend): finished assets

* feat(backend): finished heuristics

* feat(backend): finished image-storage

* feat(backend): finished sink

* feat(backend): finished storage

* feat(backend): formatted logs in all services

* feat(backend): finished foss part

* feat(backend): added missed foss part

* feat(backend): fixed panic in memory manager and sink service

* feat(backend): connectors
2024-03-14 12:51:14 +01:00

35 lines
650 B
Go

package redisstream
import (
"regexp"
"github.com/go-redis/redis"
"openreplay/backend/pkg/env"
)
var redisClient *redis.Client
func getRedisClient() (*redis.Client, error) {
if redisClient != nil {
return redisClient, nil
}
connectionString := env.String("REDIS_STRING")
match, _ := regexp.MatchString("^[^:]+://", connectionString)
if !match {
connectionString = "redis://" + connectionString
}
options, err := redis.ParseURL(connectionString)
if err != nil {
return nil, err
}
redisClient = redis.NewClient(options)
if _, err := redisClient.Ping().Result(); err != nil {
return nil, err
}
return redisClient, nil
}