apex / apex/log

[question] why `SetLevelFromString` and `SetLevel` are not thread-safe?

Abierto
#103 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Go
Estrellas
1.4k
Forks
110
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

I want to reload config and setup global log level dynamically

But got race conditions
could you give any suggestions how to do it?
```
WARNING: DATA RACE
Write at 0x00000532fb30 by goroutine 94:
github.com/apex/log.SetLevelFromString()
/root/go/pkg/mod/github.com/apex/log@v1.9.0/pkg.go:29 +0xd3
github.com/AlexAkulov/clickhouse-backup/pkg/config.LoadConfig()
/src/pkg/config/config.go:280 +0xb44
github.com/AlexAkulov/clickhouse-backup/pkg/backup.(*Backuper).Watch()
/src/pkg/backup/watch.go:95 +0x68e
github.com/AlexAkulov/clickhouse-backup/pkg/server.(*APIServer).RunWatch()
/src/pkg/server/server.go:140 +0x48e
github.com/AlexAkulov/clickhouse-backup/pkg/server.Run.func2()
/src/pkg/server/server.go:109 +0x5b

Previous read at 0x00000532fb30 by goroutine 93:
github.com/apex/log.(*Logger).log()
/root/go/pkg/mod/github.com/apex/log@v1.9.0/logger.go:149 +0x8c
github.com/apex/log.(*Entry).Info()
/root/go/pkg/mod/github.com/apex/log@v1.9.0/entry.go:96 +0x94
github.com/apex/log.(*Entry).Infof()
/root/go/pkg/mod/github.com/apex/log@v1.9.0/entry.go:122 +0xec
github.com/apex/log.(*Logger).Infof()
/root/go/pkg/mod/github.com/apex/log@v1.9.0/logger.go:121 +0xe4
github.com/apex/log.Infof()
/root/go/pkg/mod/github.com/apex/log@v1.9.0/pkg.go:86 +0xc5
github.com/AlexAkulov/clickhouse-backup/pkg/server.(*APIServer).UpdateBackupMetrics()
/src/pkg/server/server.go:1148 +0x1c4
github.com/AlexAkulov/clickhouse-backup/pkg/server.Run.func1()
/src/pkg/server/server.go:103 +0xa4
```

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.