added more logging functions and useSSHagent

This commit is contained in:
Andrew Woodlee 2022-11-22 23:20:08 -06:00
parent 0ee7267a18
commit e937259b0f
2 changed files with 37 additions and 2 deletions

View File

@ -11,6 +11,7 @@ import (
type Host struct {
Empty bool
Host string
UseSSHAgent bool
HostName string
Port uint16
PrivateKeyPath string

View File

@ -1,10 +1,44 @@
package logging
import (
"errors"
"fmt"
"log/syslog"
"os"
"github.com/spf13/viper"
)
type Logging struct {
Err error
Output string
}
func logger() Logging {
return Logging{}
type Logfile struct {
LogfilePath string
}
func OpenLogFile(config *viper.Viper) (interface{}, error) {
var logFile *os.File
var syslogWriter *syslog.Writer
var err error
logType := config.GetString("global.logging.type")
if logType != "" {
switch logType {
case "file":
logFile, err = os.OpenFile(config.GetString("global.logging.file"), os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0644)
if err != nil {
return nil, err
}
return logFile, nil
case "syslog":
syslogWriter, err = syslog.New(syslog.LOG_SYSLOG, "Backy")
if err != nil {
return nil, fmt.Errorf("Unable to set logfile: " + err.Error())
}
return syslogWriter, nil
}
}
return nil, errors.New("log type not specified; Please set global.logging.type in your config file")
}