@@ -3,14 +3,16 @@ package main
33
44import (
55 "flag"
6+ "io"
67 "io/ioutil"
78 "os"
89 "os/signal"
910 "syscall"
1011 "time"
1112
1213 ftpserver "github.com/fclairamb/ftpserverlib"
13- "github.com/fclairamb/go-log/gokit"
14+ gkwrap "github.com/fclairamb/go-log/gokit"
15+ gokit "github.com/go-kit/log"
1416
1517 "github.com/fclairamb/ftpserver/config"
1618 "github.com/fclairamb/ftpserver/server"
@@ -32,10 +34,7 @@ func main() {
3234 flag .Parse ()
3335
3436 // Setting up the logger
35- logger := gokit .New ().With (
36- "ts" , gokit .GKDefaultTimestampUTC ,
37- "caller" , gokit .GKDefaultCaller ,
38- )
37+ logger := gkwrap .New ()
3938
4039 logger .Info ("FTP server" , "version" , BuildVersion , "date" , BuildDate , "commit" , Commit )
4140
@@ -52,7 +51,7 @@ func main() {
5251 if _ , err := os .Stat (confFile ); err != nil && os .IsNotExist (err ) {
5352 logger .Warn ("No conf file, creating one" , "confFile" , confFile )
5453
55- if err := ioutil .WriteFile (confFile , confFileContent (), 0600 ); err != nil { // nolint: gomnd
54+ if err := ioutil .WriteFile (confFile , confFileContent (), 0600 ); err != nil { //nolint: gomnd
5655 logger .Warn ("Couldn't create conf file" , "confFile" , confFile )
5756 }
5857 }
@@ -65,6 +64,22 @@ func main() {
6564 return
6665 }
6766
67+ // Now is a good time to open a logging file
68+ if conf .Content .Logging .File != "" {
69+ writer , err := os .OpenFile (conf .Content .Logging .File , os .O_WRONLY | os .O_CREATE | os .O_APPEND , 0600 ) //nolint:gomnd
70+
71+ if err != nil {
72+ logger .Error ("Can't open log file" , "err" , err )
73+
74+ return
75+ }
76+
77+ logger = gkwrap .NewWrap (gokit .NewLogfmtLogger (io .MultiWriter (writer , os .Stdout ))).With (
78+ "ts" , gokit .DefaultTimestampUTC ,
79+ "caller" , gokit .DefaultCaller ,
80+ )
81+ }
82+
6883 // Loading the driver
6984 var errNewServer error
7085 driver , errNewServer = server .NewServer (conf , logger .With ("component" , "driver" ))
0 commit comments