diff options
Diffstat (limited to 'bridge/config')
-rw-r--r-- | bridge/config/config.go | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/bridge/config/config.go b/bridge/config/config.go index d98c9423..6e99066c 100644 --- a/bridge/config/config.go +++ b/bridge/config/config.go @@ -3,6 +3,7 @@ package config import ( "bytes" "io/ioutil" + "os" "path/filepath" "strings" "sync" @@ -93,6 +94,7 @@ type Protocol struct { JoinDelay string // all protocols Label string // all protocols Login string // mattermost, matrix + LogFile string // general MediaDownloadBlackList []string MediaDownloadPath string // Basically MediaServerUpload, but instead of uploading it, just write it to a file on the same server. MediaDownloadSize int // all protocols @@ -247,6 +249,15 @@ func NewConfig(rootLogger *logrus.Logger, cfgfile string) Config { cfgtype := detectConfigType(cfgfile) mycfg := newConfigFromString(logger, input, cfgtype) + if mycfg.cv.General.LogFile != "" { + logfile, err := os.OpenFile(mycfg.cv.General.LogFile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0600) + if err == nil { + logger.Info("Opening log file ", mycfg.cv.General.LogFile) + rootLogger.Out = logfile + } else { + logger.Warn("Failed to open ", mycfg.cv.General.LogFile) + } + } if mycfg.cv.General.MediaDownloadSize == 0 { mycfg.cv.General.MediaDownloadSize = 1000000 } |