12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package main
- import (
- "io"
- "log"
- "os"
- "time"
- )
- type customLogWriter struct {
- Writer io.Writer
- }
- // Initializes Loggers
- func LoggersInit() {
- fullLogPath := appSettings.FullLogPath
- errorLogPath := appSettings.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
- }
|