1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package main
- import (
- "io"
- "log"
- "os"
- "time"
- "GoEthemineTelegramBot/botsettings"
- )
- type customLogWriter struct {
- Writer io.Writer
- }
- // Initializes Loggers
- func LoggersInit() {
- fullLogPath := botsettings.FullLogPath()
- errorLogPath := botsettings.ErrorLogPath()
- fullLog, err := os.OpenFile(fullLogPath, os.O_CREATE|os.O_APPEND|os.O_RDWR, 0766)
- if err != nil {
- log.Panic(err)
- }
- // Prints log to os.Stdout, fullLog,
- fullLogWriter := &customLogWriter{io.MultiWriter(os.Stdout, fullLog)}
- errLog, err := os.OpenFile(errorLogPath, os.O_CREATE|os.O_APPEND|os.O_RDWR, 0766)
- if err != nil {
- log.Panic(err)
- }
- // Prints log to os.Stdout, fullLog, errLog
- errLogWriter := &customLogWriter{io.MultiWriter(os.Stdout, fullLog, errLog)}
- LogInfo = log.New(fullLogWriter, "INFO\t", 0)
- LogWarn = log.New(fullLogWriter, "WARNING\t", 0)
- LogError = log.New(errLogWriter, "ERROR\t", log.Lshortfile)
- LogDebug = log.New(fullLogWriter, "DEBUG\t", log.Lshortfile)
- }
- // Passes message to writer with added current time
- func (writer customLogWriter) Write(message []byte) (int, error) {
- bytes := append([]byte(time.Now().Format("[01-02-2006 15:04:05] "))[:], message...)
- n, err := writer.Writer.Write(bytes)
- if err != nil {
- return n, err
- }
- if n != len(bytes) {
- return n, io.ErrShortWrite
- }
- return len(bytes), nil
- }
|