Skip to content
This repository has been archived by the owner on Feb 9, 2022. It is now read-only.

Commit

Permalink
Move regexp support to separate file
Browse files Browse the repository at this point in the history
Change-Id: I73ec57c3df82ce8503871bc44764c2ff251f084d
  • Loading branch information
Anfernee Gui committed Sep 1, 2012
1 parent 390b40f commit d8bf14e
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 61 deletions.
65 changes: 65 additions & 0 deletions regexp.go
@@ -0,0 +1,65 @@
package steno

import (
"regexp"
)

// loggerRegexp* used to match log name and log level
var loggerRegexp *regexp.Regexp
var loggerRegexpLevel *LogLevel

func SetLoggerRegexp(pattern string, level *LogLevel) error {
loggersMutex.Lock()
defer loggersMutex.Unlock()

clearLoggerRegexp()
return setLoggerRegexp(pattern, level)
}

func ClearLoggerRegexp() {
loggersMutex.Lock()
defer loggersMutex.Unlock()

clearLoggerRegexp()
}

func setLoggerRegexp(pattern string, level *LogLevel) error {
regExp, err := regexp.Compile(pattern)
if err != nil {
return err
}

// If here, Logger regexp is valid
loggerRegexp = regExp
loggerRegexpLevel = level
for name, logger := range loggers {
if loggerRegexp.MatchString(name) {
logger.level = loggerRegexpLevel
}
}

return nil
}

func clearLoggerRegexp() {
if loggerRegexp == nil {
return
}

for name, logger := range loggers {
if loggerRegexp.MatchString(name) {
logger.level = config.Level
}
}

loggerRegexp = nil
loggerRegexpLevel = nil
}

func computeLevel(name string) *LogLevel {
if loggerRegexp != nil && loggerRegexp.MatchString(name) {
return loggerRegexpLevel
}

return config.Level
}
61 changes: 0 additions & 61 deletions steno.go
Expand Up @@ -2,7 +2,6 @@ package steno

import (
"encoding/json"
"regexp"
"sync"
)

Expand All @@ -15,10 +14,6 @@ var loggersMutex sync.Mutex
// loggers only saves BaseLogger
var loggers = make(map[string]*BaseLogger)

// loggerRegexp* used to match log name and log level
var loggerRegexp *regexp.Regexp
var loggerRegexpLevel *LogLevel

func Init(c *Config) {
config = *c

Expand Down Expand Up @@ -61,62 +56,6 @@ func NewLogger(name string) Logger {
return logger
}

func SetLoggerRegexp(pattern string, level *LogLevel) error {
loggersMutex.Lock()
defer loggersMutex.Unlock()

clearLoggerRegexp()
return setLoggerRegexp(pattern, level)
}

func ClearLoggerRegexp() {
loggersMutex.Lock()
defer loggersMutex.Unlock()

clearLoggerRegexp()
}

func setLoggerRegexp(pattern string, level *LogLevel) error {
regExp, err := regexp.Compile(pattern)
if err != nil {
return err
}

// If here, Logger regexp is valid
loggerRegexp = regExp
loggerRegexpLevel = level
for name, logger := range loggers {
if loggerRegexp.MatchString(name) {
logger.level = loggerRegexpLevel
}
}

return nil
}

func clearLoggerRegexp() {
if loggerRegexp == nil {
return
}

for name, logger := range loggers {
if loggerRegexp.MatchString(name) {
logger.level = config.Level
}
}

loggerRegexp = nil
loggerRegexpLevel = nil
}

func computeLevel(name string) *LogLevel {
if loggerRegexp != nil && loggerRegexp.MatchString(name) {
return loggerRegexpLevel
}

return config.Level
}

func loggersInJson() string {
bytes, _ := json.Marshal(loggers)
return string(bytes)
Expand Down

0 comments on commit d8bf14e

Please sign in to comment.