Break the fs package up into smaller parts.
The purpose of this is to make it easier to maintain and eventually to allow the rclone backends to be re-used in other projects without having to use the rclone configuration system. The new code layout is documented in CONTRIBUTING.
This commit is contained in:
parent
92624bbbf1
commit
11da2a6c9b
183 changed files with 5749 additions and 5063 deletions
67
fs/log/syslog_unix.go
Normal file
67
fs/log/syslog_unix.go
Normal file
|
@ -0,0 +1,67 @@
|
|||
// Syslog interface for Unix variants only
|
||||
|
||||
// +build !windows,!nacl,!plan9
|
||||
|
||||
package log
|
||||
|
||||
import (
|
||||
"log"
|
||||
"log/syslog"
|
||||
"os"
|
||||
"path"
|
||||
|
||||
"github.com/ncw/rclone/fs"
|
||||
)
|
||||
|
||||
var (
|
||||
syslogFacilityMap = map[string]syslog.Priority{
|
||||
"KERN": syslog.LOG_KERN,
|
||||
"USER": syslog.LOG_USER,
|
||||
"MAIL": syslog.LOG_MAIL,
|
||||
"DAEMON": syslog.LOG_DAEMON,
|
||||
"AUTH": syslog.LOG_AUTH,
|
||||
"SYSLOG": syslog.LOG_SYSLOG,
|
||||
"LPR": syslog.LOG_LPR,
|
||||
"NEWS": syslog.LOG_NEWS,
|
||||
"UUCP": syslog.LOG_UUCP,
|
||||
"CRON": syslog.LOG_CRON,
|
||||
"AUTHPRIV": syslog.LOG_AUTHPRIV,
|
||||
"FTP": syslog.LOG_FTP,
|
||||
}
|
||||
)
|
||||
|
||||
// Starts syslog
|
||||
func startSysLog() bool {
|
||||
facility, ok := syslogFacilityMap[*syslogFacility]
|
||||
if !ok {
|
||||
log.Fatalf("Unknown syslog facility %q - man syslog for list", *syslogFacility)
|
||||
}
|
||||
Me := path.Base(os.Args[0])
|
||||
w, err := syslog.New(syslog.LOG_NOTICE|facility, Me)
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to start syslog: %v", err)
|
||||
}
|
||||
log.SetFlags(0)
|
||||
log.SetOutput(w)
|
||||
fs.LogPrint = func(level fs.LogLevel, text string) {
|
||||
switch level {
|
||||
case fs.LogLevelEmergency:
|
||||
_ = w.Emerg(text)
|
||||
case fs.LogLevelAlert:
|
||||
_ = w.Alert(text)
|
||||
case fs.LogLevelCritical:
|
||||
_ = w.Crit(text)
|
||||
case fs.LogLevelError:
|
||||
_ = w.Err(text)
|
||||
case fs.LogLevelWarning:
|
||||
_ = w.Warning(text)
|
||||
case fs.LogLevelNotice:
|
||||
_ = w.Notice(text)
|
||||
case fs.LogLevelInfo:
|
||||
_ = w.Info(text)
|
||||
case fs.LogLevelDebug:
|
||||
_ = w.Debug(text)
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue