Skip to content

Commit

Permalink
fix(logx): need to wait for the first caller to complete the executio…
Browse files Browse the repository at this point in the history
  • Loading branch information
chenquan authored Aug 3, 2022
1 parent 3f3c811 commit 4fad067
Showing 1 changed file with 25 additions and 24 deletions.
49 changes: 25 additions & 24 deletions core/logx/logs.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"os"
"path"
"runtime/debug"
"sync"
"sync/atomic"
"time"

Expand All @@ -23,7 +24,7 @@ var (
disableStat uint32
options logOptions
writer = new(atomicWriter)
setupOnce uint32
setupOnce sync.Once
)

type (
Expand Down Expand Up @@ -206,35 +207,35 @@ func SetWriter(w Writer) {
// SetUp sets up the logx. If already set up, just return nil.
// we allow SetUp to be called multiple times, because for example
// we need to allow different service frameworks to initialize logx respectively.
func SetUp(c LogConf) error {
func SetUp(c LogConf) (err error) {
// Just ignore the subsequent SetUp calls.
// Because multiple services in one process might call SetUp respectively.
if !atomic.CompareAndSwapUint32(&setupOnce, 0, 1) {
return nil
}
// Need to wait for the first caller to complete the execution.
setupOnce.Do(func() {
setupLogLevel(c)

setupLogLevel(c)
if len(c.TimeFormat) > 0 {
timeFormat = c.TimeFormat
}

if len(c.TimeFormat) > 0 {
timeFormat = c.TimeFormat
}
switch c.Encoding {
case plainEncoding:
atomic.StoreUint32(&encoding, plainEncodingType)
default:
atomic.StoreUint32(&encoding, jsonEncodingType)
}

switch c.Encoding {
case plainEncoding:
atomic.StoreUint32(&encoding, plainEncodingType)
default:
atomic.StoreUint32(&encoding, jsonEncodingType)
}
switch c.Mode {
case fileMode:
err = setupWithFiles(c)
case volumeMode:
err = setupWithVolume(c)
default:
setupWithConsole()
}
})

switch c.Mode {
case fileMode:
return setupWithFiles(c)
case volumeMode:
return setupWithVolume(c)
default:
setupWithConsole()
return nil
}
return
}

// Severe writes v into severe log.
Expand Down

0 comments on commit 4fad067

Please sign in to comment.