log rotation with lumberjack
This commit is contained in:
parent
1aad6429ae
commit
6df7facc6c
1
go.mod
1
go.mod
|
@ -23,6 +23,7 @@ require (
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
github.com/natefinch/lumberjack v2.0.0+incompatible
|
||||||
github.com/swaywm/swaybg v1.2.1 // indirect
|
github.com/swaywm/swaybg v1.2.1 // indirect
|
||||||
github.com/xyproto/wallutils v0.0.0-20241029150533-f105e9c53323
|
github.com/xyproto/wallutils v0.0.0-20241029150533-f105e9c53323
|
||||||
)
|
)
|
||||||
|
|
4
go.sum
4
go.sum
|
@ -13,6 +13,10 @@ github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovk
|
||||||
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||||
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
||||||
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||||
|
github.com/natefinch/lumberjack v2.0.0+incompatible h1:4QJd3OLAMgj7ph+yZTuX13Ld4UpgHp07nNdFX7mqFfM=
|
||||||
|
github.com/natefinch/lumberjack v2.0.0+incompatible/go.mod h1:Wi9p2TTF5DG5oU+6YfsmYQpsTIOm0B1VNzQg9Mw6nPk=
|
||||||
|
github.com/natefinch/lumberjack/v3 v3.0.0-alpha h1:HZ2AJF20D1lo9S0F/rpgkFbPGam5dgR3X0KUtZA5mlY=
|
||||||
|
github.com/natefinch/lumberjack/v3 v3.0.0-alpha/go.mod h1:rPTlHhMjhrvPAhqKh0FC57E0pXZoanrXgMDj4yv5wcM=
|
||||||
github.com/stretchr/powerwalk v0.0.0-20151124150408-bceb9d014549 h1:zjTKDjwZy1IVyLos+s70iYMwL/ZVojUbIDX5kghHa1Q=
|
github.com/stretchr/powerwalk v0.0.0-20151124150408-bceb9d014549 h1:zjTKDjwZy1IVyLos+s70iYMwL/ZVojUbIDX5kghHa1Q=
|
||||||
github.com/stretchr/powerwalk v0.0.0-20151124150408-bceb9d014549/go.mod h1:RhJzAYfVBD/ULOCeUUaTn0CHDRQBYHjDY7yYpSt6+4M=
|
github.com/stretchr/powerwalk v0.0.0-20151124150408-bceb9d014549/go.mod h1:RhJzAYfVBD/ULOCeUUaTn0CHDRQBYHjDY7yYpSt6+4M=
|
||||||
github.com/swaywm/swaybg v1.2.1 h1:TvQYiifR9JW4dANxxb7HMbEaZdGnZ4CWynevENocIWU=
|
github.com/swaywm/swaybg v1.2.1 h1:TvQYiifR9JW4dANxxb7HMbEaZdGnZ4CWynevENocIWU=
|
||||||
|
|
28
main.go
28
main.go
|
@ -2,6 +2,7 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"flag"
|
"flag"
|
||||||
|
"github.com/natefinch/lumberjack"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
@ -53,15 +54,6 @@ func main() {
|
||||||
waitGroup.Wait()
|
waitGroup.Wait()
|
||||||
}
|
}
|
||||||
|
|
||||||
func openLogfile() (*os.File, error) {
|
|
||||||
//TODO: log rotation
|
|
||||||
f, err := os.OpenFile(config.Cache+"logfile", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return f, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func cleanExit(code int) {
|
func cleanExit(code int) {
|
||||||
if code == 1 {
|
if code == 1 {
|
||||||
log.Println("shutting down gracefully after errors")
|
log.Println("shutting down gracefully after errors")
|
||||||
|
@ -133,15 +125,17 @@ func setupLogging(debug bool) {
|
||||||
clog.Printf("debug: %v", debug)
|
clog.Printf("debug: %v", debug)
|
||||||
//SETUP LOGGERS
|
//SETUP LOGGERS
|
||||||
if debug {
|
if debug {
|
||||||
logfile, err := openLogfile()
|
logfile := config.Cache + "logfile"
|
||||||
if err != nil {
|
clog.Printf("Logging to %v", logfile)
|
||||||
elog.Println("failed to load config", err)
|
output := &lumberjack.Logger{
|
||||||
os.Exit(1)
|
Filename: logfile,
|
||||||
|
MaxSize: 1, // megabytes after which new file is created
|
||||||
|
MaxBackups: 3, // number of backups
|
||||||
|
MaxAge: 28, //days
|
||||||
}
|
}
|
||||||
clog.Printf("Logging to %v", logfile.Name())
|
log.SetOutput(output)
|
||||||
log.SetOutput(logfile)
|
clog.SetOutput(output)
|
||||||
clog.SetOutput(logfile)
|
elog.SetOutput(output)
|
||||||
elog.SetOutput(logfile)
|
|
||||||
}
|
}
|
||||||
elog.SetFlags(log.LstdFlags | log.Lshortfile)
|
elog.SetFlags(log.LstdFlags | log.Lshortfile)
|
||||||
log.SetFlags(log.LstdFlags)
|
log.SetFlags(log.LstdFlags)
|
||||||
|
|
Loading…
Reference in New Issue