Skip to content

Commit 08cfb85

Browse files
authored
[feat]: add log level check (#10)
* [feat]: add log level check * [opt]: ignore proto gen files
1 parent 230af49 commit 08cfb85

File tree

4 files changed

+45
-2
lines changed

4 files changed

+45
-2
lines changed

.codecov.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Coverage configuration
2+
# ----------------------
3+
coverage:
4+
range: 70..90 # First number represents red, and second represents green
5+
# (default is 70..100)
6+
round: down # up, down, or nearest
7+
precision: 2 # Number of decimal places, between 0 and 5
8+
status:
9+
project:
10+
default:
11+
informational: true
12+
patch:
13+
default:
14+
informational: true
15+
16+
# Ignoring Paths
17+
# --------------
18+
# which folders/files to ignore
19+
ignore:
20+
- "proto" # ignore web folders
21+
- "mock" # ignore mock folders

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ cpu_profile
2020
*.dll
2121
*.so
2222
*.dylib
23+
*.tmp
2324

2425
# mock files
2526
*mock.go

pkg/logger/logger.go

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,17 @@ import (
3030
)
3131

3232
var (
33-
isWindowsFn = isWindows
33+
DebugLevel = zapcore.DebugLevel
34+
InfoLevel = zapcore.InfoLevel
35+
WarnLevel = zapcore.WarnLevel
36+
ErrorLevel = zapcore.ErrorLevel
37+
DPanicLevel = zapcore.DPanicLevel
38+
PanicLevel = zapcore.PanicLevel
39+
FatalLevel = zapcore.FatalLevel
3440
)
3541

42+
var isWindowsFn = isWindows
43+
3644
// SimpleTimeEncoder serializes a time.Time to a simplified format without timezone
3745
func SimpleTimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder) {
3846
enc.AppendString(t.Format("2006-01-02 15:04:05.000"))
@@ -97,15 +105,21 @@ type Logger interface {
97105
// Error logs a message at ErrorLevel. The message includes any fields passed
98106
// at the log site, as well as any fields accumulated on the logger.
99107
Error(msg string, fields ...zap.Field)
108+
// Enabled decides whether a given logging level is enabled when logging a message.
109+
Enabled(level zapcore.Level) bool
100110
}
101111

102112
// logger implements Logger interface.
103113
type logger struct {
114+
log *zap.Logger
104115
module string
105116
role string
106117
ignoreModuleAndRole bool
118+
}
107119

108-
log *zap.Logger
120+
// Enabled decides whether a given logging level is enabled when logging a message.
121+
func (l *logger) Enabled(level zapcore.Level) bool {
122+
return l.log.Core().Enabled(level)
109123
}
110124

111125
// Debug logs a message at DebugLevel. The message includes any fields passed

pkg/logger/logger_test.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,13 @@ import (
2727
"go.uber.org/zap/zapcore"
2828
)
2929

30+
func Test_Logger_Enabled(t *testing.T) {
31+
logger1 := GetLogger("PKG", "Log")
32+
assert.False(t, logger1.Enabled(DebugLevel))
33+
assert.True(t, logger1.Enabled(WarnLevel))
34+
assert.True(t, logger1.Enabled(FatalLevel))
35+
}
36+
3037
func Test_Logger(t *testing.T) {
3138
logger1 := GetLogger("PKG", "Log")
3239
RunningAtomicLevel.SetLevel(zapcore.DebugLevel)

0 commit comments

Comments
 (0)