aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/Azure/azure-pipeline-go/pipeline/defaultlog_syslog.go
blob: d0bb7740769c70270d0be849fe74e783904719b1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// +build !windows,!nacl,!plan9

package pipeline

import (
    "log"
    "log/syslog"
)

// ForceLog should rarely be used. It forceable logs an entry to the
// Windows Event Log (on Windows) or to the SysLog (on Linux)
func ForceLog(level LogLevel, msg string) {
    if defaultLogger == nil {
        return // Return fast if we failed to create the logger.
    }
    // We are logging it, ensure trailing newline
    if len(msg) == 0 || msg[len(msg)-1] != '\n' {
        msg += "\n" // Ensure trailing newline
    }
    switch level {
    case LogFatal:
        defaultLogger.Fatal(msg)
    case LogPanic:
        defaultLogger.Panic(msg)
    case LogError, LogWarning, LogInfo:
        defaultLogger.Print(msg)
    }
}

var defaultLogger = func() *log.Logger {
    l, _ := syslog.NewLogger(syslog.LOG_USER|syslog.LOG_WARNING, log.LstdFlags)
    return l
}()