forked from usememos/memos
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: graceful shutdown server (usememos#1016)
- Loading branch information
Showing
7 changed files
with
146 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
// Package log implements a simple logging package. | ||
package log | ||
|
||
import ( | ||
"go.uber.org/zap" | ||
"go.uber.org/zap/zapcore" | ||
) | ||
|
||
var ( | ||
// `gl` is the global logger. | ||
// Other packages should use public methods such as Info/Error to do the logging. | ||
// For other types of logging, e.g. logging to a separate file, they should use their own loggers. | ||
gl *zap.Logger | ||
gLevel zap.AtomicLevel | ||
) | ||
|
||
// Initializes the global console logger. | ||
func init() { | ||
gLevel = zap.NewAtomicLevelAt(zap.InfoLevel) | ||
gl, _ = zap.Config{ | ||
Level: gLevel, | ||
Development: true, | ||
// Use "console" to print readable stacktrace. | ||
Encoding: "console", | ||
EncoderConfig: zap.NewDevelopmentEncoderConfig(), | ||
OutputPaths: []string{"stderr"}, | ||
ErrorOutputPaths: []string{"stderr"}, | ||
}.Build( | ||
// Skip one caller stack to locate the correct caller. | ||
zap.AddCallerSkip(1), | ||
) | ||
} | ||
|
||
// SetLevel wraps the zap Level's SetLevel method. | ||
func SetLevel(level zapcore.Level) { | ||
gLevel.SetLevel(level) | ||
} | ||
|
||
// EnabledLevel wraps the zap Level's Enabled method. | ||
func EnabledLevel(level zapcore.Level) bool { | ||
return gLevel.Enabled(level) | ||
} | ||
|
||
// Debug wraps the zap Logger's Debug method. | ||
func Debug(msg string, fields ...zap.Field) { | ||
gl.Debug(msg, fields...) | ||
} | ||
|
||
// Info wraps the zap Logger's Info method. | ||
func Info(msg string, fields ...zap.Field) { | ||
gl.Info(msg, fields...) | ||
} | ||
|
||
// Warn wraps the zap Logger's Warn method. | ||
func Warn(msg string, fields ...zap.Field) { | ||
gl.Warn(msg, fields...) | ||
} | ||
|
||
// Error wraps the zap Logger's Error method. | ||
func Error(msg string, fields ...zap.Field) { | ||
gl.Error(msg, fields...) | ||
} | ||
|
||
// Sync wraps the zap Logger's Sync method. | ||
func Sync() { | ||
_ = gl.Sync() | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters