github.com/whatap/golib@v0.0.22/util/panicutil/logger.win.go (about)

     1  //+build windows
     2  
     3  package panicutil
     4  
     5  import (
     6  	"fmt"
     7  	"os"
     8  	"path/filepath"
     9  
    10  	"github.com/natefinch/lumberjack"
    11  )
    12  
    13  func getErrorLogger() *lumberjack.Logger {
    14  	if errorLogger == nil {
    15  		ex, err := os.Executable()
    16  		if err != nil {
    17  			panic(err)
    18  		}
    19  		exPath := filepath.Dir(ex)
    20  
    21  		errorLogger = &lumberjack.Logger{
    22  			Filename:   fmt.Sprintf("%s/error.log", exPath),
    23  			MaxSize:    10, // megabytes after which new file is created
    24  			MaxBackups: 2,  // number of backups
    25  			MaxAge:     37, //days
    26  		}
    27  	}
    28  
    29  	return errorLogger
    30  }