init bin
This commit is contained in:
48
src/log_wrapper/log_wrapper.go
Normal file
48
src/log_wrapper/log_wrapper.go
Normal file
@@ -0,0 +1,48 @@
|
||||
package log_wrapper
|
||||
|
||||
// https://github.com/rs/zerolog/issues/150
|
||||
|
||||
import (
|
||||
"os"
|
||||
"github.com/rs/zerolog"
|
||||
)
|
||||
|
||||
var mainLogVar zerolog.Logger
|
||||
|
||||
type FilteredWriter struct {
|
||||
w zerolog.LevelWriter
|
||||
level zerolog.Level
|
||||
}
|
||||
|
||||
func (w *FilteredWriter) Write(p []byte) (n int, err error) {
|
||||
return w.w.Write(p)
|
||||
}
|
||||
func (w *FilteredWriter) WriteLevel(level zerolog.Level, p []byte) (n int, err error) {
|
||||
if level == w.level {
|
||||
return w.w.WriteLevel(level, p)
|
||||
}
|
||||
return len(p), nil
|
||||
}
|
||||
|
||||
func Log() *zerolog.Logger {
|
||||
return &mainLogVar
|
||||
}
|
||||
|
||||
func InitLog(serverName string) bool {
|
||||
|
||||
fAll, _ := os.OpenFile("./" + serverName + ".log", os.O_APPEND|os.O_CREATE|os.O_RDWR, 0644)
|
||||
output := zerolog.ConsoleWriter{Out: os.Stdout}
|
||||
|
||||
writerInfo := zerolog.MultiLevelWriter(output)
|
||||
writerError := zerolog.MultiLevelWriter(output)
|
||||
writerFatal := zerolog.MultiLevelWriter(output)
|
||||
filteredWriteInfo := &FilteredWriter{writerInfo, zerolog.InfoLevel}
|
||||
filteredWriterError := &FilteredWriter{writerError, zerolog.ErrorLevel}
|
||||
filteredWriterFatal := &FilteredWriter{writerFatal, zerolog.FatalLevel}
|
||||
|
||||
w := zerolog.MultiLevelWriter(fAll, filteredWriteInfo, filteredWriterError, filteredWriterFatal)
|
||||
|
||||
mainLogVar = zerolog.New(w).With().Timestamp().Logger()
|
||||
|
||||
return true
|
||||
}
|
||||
Reference in New Issue
Block a user