2022-09-02 18:17:42 -04:00
|
|
|
package config
|
|
|
|
|
|
|
|
import (
|
2022-09-03 10:51:25 -04:00
|
|
|
"io"
|
2022-09-02 18:17:42 -04:00
|
|
|
"log"
|
|
|
|
"os"
|
|
|
|
|
|
|
|
"github.com/spf13/viper"
|
|
|
|
|
|
|
|
"git.metaunix.net/BitGoblin/adept/util"
|
|
|
|
)
|
|
|
|
|
|
|
|
func InitLogging() *os.File {
|
|
|
|
var fileHandle *os.File = nil
|
|
|
|
|
|
|
|
if viper.GetBool("log_to_file") {
|
|
|
|
// open a file
|
|
|
|
var err error
|
|
|
|
fileHandle, err = os.OpenFile(util.ResolveTilde(viper.GetString("log_file")), os.O_APPEND | os.O_CREATE | os.O_RDWR, 0644)
|
|
|
|
if err != nil {
|
|
|
|
log.Fatalf("Error opening log file: %v", err)
|
|
|
|
os.Exit(1)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-09-03 10:51:25 -04:00
|
|
|
// create a MultiWriter instance so we can write to both console AND file
|
|
|
|
mw := io.MultiWriter(os.Stdout, fileHandle)
|
|
|
|
// set our multiwriter object as the output for logging
|
|
|
|
log.SetOutput(mw)
|
|
|
|
|
2022-09-02 18:17:42 -04:00
|
|
|
return fileHandle
|
|
|
|
}
|