mirror of
				https://github.com/usememos/memos.git
				synced 2025-11-01 01:06:04 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			67 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // 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()
 | |
| }
 |