作者:kevinxus
项目:momong
func SetupLogging(loggingLevel, logFile string) {
level := log.DEBUG
switch loggingLevel {
case "info":
level = log.INFO
case "warn":
level = log.WARNING
case "error":
level = log.ERROR
}
log.Global = make(map[string]*log.Filter)
Global = log.Global
if logFile == "stdout" || logFile == "" {
flw := log.NewConsoleLogWriter()
log.AddFilter("stdout", level, flw)
} else if logFile == "stderr" || logFile == "" {
flw := log.NewConsoleLogWriter()
log.AddFilter("stderr", level, flw)
} else {
logFileDir := filepath.Dir(logFile)
os.MkdirAll(logFileDir, 0744)
flw := log.NewFileLogWriter(logFile, false)
log.AddFilter("file", level, flw)
flw.SetFormat("[%D %T] [%L] (%S) %M")
flw.SetRotate(true)
flw.SetRotateSize(0)
flw.SetRotateLines(0)
flw.SetRotateDaily(true)
}
Global.Info("Redirectoring logging to %s %s", logFile, level)
}
作者:jlyt89
项目:fa
func setupLogging(loggingLevel, logFile string) {
level := log.DEBUG
switch loggingLevel {
case "info":
level = log.INFO
case "warn":
level = log.WARNING
case "error":
level = log.ERROR
}
for _, filter := range log.Global {
filter.Level = level
}
if logFile == "stdout" {
log.AddFilter("stdout", level, log.NewConsoleLogWriter())
} else {
logDir := filepath.Dir(logFile)
if err := os.MkdirAll(logDir, 0744); err != nil {
panic(err)
}
writer := log.NewFileLogWriter(logFile, false)
log.AddFilter("file", level, writer)
writer.SetFormat("[%D %t] [%L] (%S) %M")
writer.SetRotate(true)
writer.SetRotateSize(0)
writer.SetRotateLines(0)
writer.SetRotateDaily(true)
}
}
作者:nhelk
项目:goupnp
func main() {
l4g.AddFilter("stdout", l4g.WARNING, l4g.NewConsoleLogWriter())
if len(os.Args) < 2 {
printUsage()
} else {
discover := goupnp.DiscoverIGD()
if os.Args[1] == "s" {
igd := <-discover
status := <-igd.GetConnectionStatus()
fmt.Printf("%+v\n", status)
} else if os.Args[1] == "l" {
igd := <-discover
for portMapping := range igd.ListRedirections() {
fmt.Println(portMapping)
}
} else if os.Args[1] == "a" {
igd := <-discover
port, _ := strconv.Atoi(os.Args[2])
proto := goupnp.ParseProtocol(os.Args[3])
myMapping := <-igd.AddLocalPortRedirection(uint16(port), proto)
fmt.Printf("%+v\n", myMapping)
} else {
printUsage()
}
}
time.Sleep(1 * time.Second)
}
作者:pombredann
项目:walker-
func init() {
// Tests outside of config_test.go also require this configuration to be
// loaded; Config tests should reset it by making this call
loadTestConfig("test-walker.yaml")
// For tests it's useful to see more than the default INFO
log4go.AddFilter("stdout", log4go.DEBUG, log4go.NewConsoleLogWriter())
}
作者:mehulsbhat
项目:TunnelMonito
func initLogger() {
logger = make(log4go.Logger)
logger.AddFilter("stdout", log4go.INFO, log4go.NewConsoleLogWriter())
if logFileName := configCommon("log", INFO); logFileName != "" {
logger.AddFilter("file", log4go.INFO, log4go.NewFileLogWriter(logFileName, false).SetFormat("[%D %T][%L]%M - %S"))
}
logger.Info("log module initialized")
}
作者:rigindin
项目:lim
func main() {
log4go.AddFilter("file", log4go.FINEST, log4go.NewConsoleLogWriter())
defer func() {
py.NewLock()
py.Finalize()
}()
t = &qmlfrontend{windows: make(map[*backend.Window]*frontendWindow)}
go t.qmlBatchLoop()
qml.Run(t.loop)
}
作者:beanbe
项目:log-g
/*
Init - initialize log lib
RETURNS:
*Logger, nil - if succeed
nil, error - if fail
*/
func (l *Logger) Init() (*Logger, error) {
// check, and create dir if nonexist
if err := logDirCreate(l.logDir); err != nil {
return nil, err
}
// default level: INFO
level := log4go.INFO
if l.enableDebug {
level = log4go.DEBUG
}
// set logger format
logFormat := func(enableDebug bool) string {
if enableDebug {
return log4go.FORMAT_DEFAULT
}
return FORMAT_WITHOUT_SRC
}(l.enableDebug)
// create logger
logger := make(log4go.Logger)
// create writer for stdout
if l.enableStdout {
logger.AddFilter("stdout", level, log4go.NewConsoleLogWriter())
}
// create file writer for all log
fileName := filenameGen(l.progName, l.logDir, false)
logWriter := log4go.NewFileLogWriter(fileName, l.enableRotate)
if l.enableRotate {
logWriter.SetRotateSize(l.rotateSize)
logWriter.SetRotateDaily(true)
}
logWriter.SetFormat(logFormat)
logger.AddFilter("log", level, logWriter)
if l.enableWf {
fileNameWf := filenameGen(l.progName, l.logDir, true)
logWriterWf := log4go.NewFileLogWriter(fileNameWf, l.enableRotate)
if l.enableRotate {
logWriterWf.SetRotateSize(l.rotateSize)
logWriterWf.SetRotateDaily(true)
}
logWriterWf.SetFormat(logFormat)
logger.AddFilter("log_wf", log4go.WARNING, logWriterWf)
}
// set Logger
l.Logger = logger
return l, nil
}
作者:Unverifie
项目:lim
func main() {
log4go.AddFilter("file", log4go.FINEST, log4go.NewConsoleLogWriter())
defer func() {
py.NewLock()
py.Finalize()
}()
var t tbfe
t.dorender = make(chan bool, render_chan_len)
t.layout = make(map[*backend.View]layout)
t.loop()
}
作者:pombredann
项目:walker-
// init sets the default log4go configuration and attempts to read a log4go.xml
// file if available
func init() {
log4go.AddFilter("stdout", log4go.INFO, log4go.NewConsoleLogWriter())
loadLog4goConfig()
sig := make(chan os.Signal)
signal.Notify(sig, syscall.SIGHUP)
go func() {
for {
<-sig
loadLog4goConfig()
}
}()
}
作者:uni3orn
项目:lim
func main() {
log4go.AddFilter("file", log4go.FINEST, log4go.NewConsoleLogWriter())
defer func() {
py.NewLock()
py.Finalize()
}()
var t tbfe
t.layout = make(map[*backend.View]layout)
t.views = make(map[*backend.View]*frontendView)
t.loop()
}
作者:EDi-nab
项目:lim
func main() {
// Need to lock the OS thread as OSX GUI requires GUI stuff to run in the main thread
runtime.LockOSThread()
log4go.AddFilter("file", log4go.FINEST, log4go.NewConsoleLogWriter())
defer func() {
py.NewLock()
py.Finalize()
}()
t = &qmlfrontend{windows: make(map[*backend.Window]*frontendWindow)}
go t.qmlBatchLoop()
qml.Run(t.loop)
}
作者:ericcapricor
项目:influxd
func setupLogging(loggingLevel, logFile string) {
level := log.DEBUG
switch loggingLevel {
case "fine":
level = log.FINE
case "debug":
level = log.DEBUG
case "info":
level = log.INFO
case "warn":
level = log.WARNING
case "error":
level = log.ERROR
default:
log.Error("Unknown log level %s. Defaulting to DEBUG", loggingLevel)
}
log.Global = make(map[string]*log.Filter)
facility, ok := GetSysLogFacility(logFile)
if ok {
flw, err := NewSysLogWriter(facility)
if err != nil {
fmt.Fprintf(os.Stderr, "NewSysLogWriter: %s\n", err.Error())
return
}
log.AddFilter("syslog", level, flw)
} else if logFile == "stdout" {
flw := log.NewConsoleLogWriter()
log.AddFilter("stdout", level, flw)
} else {
logFileDir := filepath.Dir(logFile)
os.MkdirAll(logFileDir, 0744)
flw := log.NewFileLogWriter(logFile, false)
if flw == nil {
os.Exit(1)
}
log.AddFilter("file", level, flw)
flw.SetFormat("[%D %T] [%L] (%S) %M")
flw.SetRotate(true)
flw.SetRotateSize(0)
flw.SetRotateLines(0)
flw.SetRotateDaily(true)
}
log.Info("Redirectoring logging to %s", logFile)
}
作者:qiangmzs
项目:golan
/*
* Init - initialize log lib
*
* PARAMS:
* - progName: program name. Name of log file will be progName.log
* - levelStr: "DEBUG", "TRACE", "INFO", "WARNING", "ERROR", "CRITICAL"
* - logDir: directory for log. It will be created if noexist
* - hasStdOut: whether to have stdout output
* - when:
* "M", minute
* "H", hour
* "D", day
* "MIDNIGHT", roll over at midnight
* - backupCount: If backupCount is > 0, when rollover is done, no more than
* backupCount files are kept - the oldest ones are deleted.
*
* RETURNS:
* nil, if succeed
* error, if fail
*/
func Init(progName string, levelStr string, logDir string,
hasStdOut bool, when string, backupCount int) error {
if initialized {
return errors.New("Initialized Already")
}
/* check when */
/*if !log4go.WhenIsValid(when) {
return fmt.Errorf("invalid value of when: %s", when)
}*/
/* check, and create dir if nonexist */
if err := logDirCreate(logDir); err != nil {
log4go.Error("Init(), in logDirCreate(%s)", logDir)
return err
}
/* convert level from string to log4go level */
level := stringToLevel(levelStr)
/* create logger */
Logger = make(log4go.Logger)
/* create writer for stdout */
if hasStdOut {
Logger.AddFilter("stdout", level, log4go.NewConsoleLogWriter())
}
/* create file writer for all log */
fileName := filenameGen(progName, logDir, false)
logWriter := log4go.NewTimeFileLogWriter(fileName, when, backupCount)
if logWriter == nil {
return fmt.Errorf("error in log4go.NewTimeFileLogWriter(%s)", fileName)
}
logWriter.SetFormat(log4go.LogFormat)
Logger.AddFilter("log", level, logWriter)
/* create file writer for warning and fatal log */
fileNameWf := filenameGen(progName, logDir, true)
logWriter = log4go.NewTimeFileLogWriter(fileNameWf, when, backupCount)
if logWriter == nil {
return fmt.Errorf("error in log4go.NewTimeFileLogWriter(%s)", fileNameWf)
}
logWriter.SetFormat(log4go.LogFormat)
Logger.AddFilter("log_wf", log4go.WARNING, logWriter)
initialized = true
return nil
}
作者:rahul-k
项目:golang-hell
func main() {
log := make(log4go.Logger)
log.AddFilter("stdout", log4go.DEBUG, log4go.NewConsoleLogWriter())
http.HandleFunc("/", helloThere)
http.HandleFunc("/all", all)
http.HandleFunc("/pointer", PointerExample)
var port string
if port = os.Getenv(PortVar); port == "" {
port = "8080"
}
log.Debug("Listening at port %v\n", port)
if err := http.ListenAndServe(":"+port, nil); err != nil {
panic(err)
}
}
作者:radiospie
项目:ngro
func LogTo(target string, verbosity string) {
var writer log.LogWriter = nil
switch target {
case "stdout":
writer = log.NewConsoleLogWriter()
case "none":
// no logging
default:
writer = log.NewFileLogWriter(target, true)
}
if writer != nil {
setupVerbosity(writer, verbosity)
}
}
作者:yowente
项目:http_ngro
func LogTo(target string) {
var writer log.LogWriter = nil
switch target {
case "stdout":
writer = log.NewConsoleLogWriter()
case "none":
// no logging
default:
writer = log.NewFileLogWriter(target, true)
}
if writer != nil {
root.AddFilter("log", log.TRACE, writer)
}
}
作者:rako
项目:dh
func init() {
flag.StringVar(&dhtRouters, "routers", "1.a.magnets.im:6881,router.utorrent.com:6881",
"Comma separated IP:Port address of the DHT routeirs used to bootstrap the DHT network.")
flag.IntVar(&maxNodes, "maxNodes", 500,
"Maximum number of nodes to store in the routing table, in memory. This is the primary configuration for how noisy or aggressive this node should be. When the node starts, it will try to reach maxNodes/2 as quick as possible, to form a healthy routing table.")
flag.DurationVar(&cleanupPeriod, "cleanupPeriod", 15*time.Minute,
"How often to ping nodes in the network to see if they are reachable.")
flag.DurationVar(&savePeriod, "savePeriod", 5*time.Minute,
"How often to save the routing table to disk.")
flag.Int64Var(&rateLimit, "rateLimit", 100,
"Maximum packets per second to be processed. Beyond this limit they are silently dropped. Set to -1 to disable rate limiting.")
// TODO: Control the verbosity via flag.
// Setting during init has two purposes:
// - Gives the calling program the ability to override this filter inside their main().
// - Provides a sane default that isn't excessively verbose.
l4g.AddFilter("stdout", l4g.WARNING, l4g.NewConsoleLogWriter())
}
作者:screscen
项目:dh
func init() {
// TODO: Run my own router.
flag.StringVar(&dhtRouter, "dhtRouter", "router.utorrent.com:6881",
"IP:Port address of the DHT router used to bootstrap the DHT network.")
flag.IntVar(&maxNodes, "maxNodes", 1000,
"Maximum number of nodes to store in the routing table, in memory.")
flag.DurationVar(&cleanupPeriod, "cleanupPeriod", 15*time.Minute,
"How often to ping nodes in the network to see if they are reachable.")
flag.DurationVar(&savePeriod, "savePeriod", 5*time.Minute,
"How often to save the routing table to disk.")
flag.Int64Var(&rateLimit, "rateLimit", 100,
"Maximum packets per second to be processed. Beyond this limit they are silently dropped. Set to -1 to disable rate limiting.")
// TODO: Control the verbosity via flag.
// Setting during init has two purposes:
// - Gives the calling program the ability to override this filter inside their main().
// - Provides a sane default that isn't excessively verbose.
l4g.AddFilter("stdout", l4g.WARNING, l4g.NewConsoleLogWriter())
}
作者:krama
项目:go-firmat
// Creates a new FirmataClient object and connects to the Arduino board
// over specified serial port. This function blocks till a connection is
// succesfullt established and pin mappings are retrieved.
func NewClient(dev string, baud int) (client *FirmataClient, err error) {
var conn io.ReadWriteCloser
c := &serial.Config{Name: dev, Baud: baud}
conn, err = serial.OpenPort(c)
if err != nil {
client.Log.Critical(err)
return
}
logger := make(log4go.Logger)
logger.AddFilter("stdout", log4go.INFO, log4go.NewConsoleLogWriter())
client = &FirmataClient{
serialDev: dev,
baud: baud,
conn: &conn,
Log: &logger,
}
go client.replyReader()
conn.Write([]byte{byte(SystemReset)})
t := time.NewTicker(time.Second)
for !(client.ready && client.analogMappingDone && client.capabilityDone) {
select {
case <-t.C:
//no-op
case <-time.After(time.Second * 15):
client.Log.Critical("No response in 30 seconds. Resetting arduino")
conn.Write([]byte{byte(SystemReset)})
case <-time.After(time.Second * 30):
client.Log.Critical("Unable to initialize connection")
conn.Close()
client = nil
}
}
client.Log.Info("Client ready to use")
return
}
作者:mf138900407
项目:platfor
func configureLog(s *model.LogSettings) {
l4g.Close()
if s.EnableConsole {
level := l4g.DEBUG
if s.ConsoleLevel == "INFO" {
level = l4g.INFO
} else if s.ConsoleLevel == "WARN" {
level = l4g.WARNING
} else if s.ConsoleLevel == "ERROR" {
level = l4g.ERROR
}
l4g.AddFilter("stdout", level, l4g.NewConsoleLogWriter())
}
if s.EnableFile {
var fileFormat = s.FileFormat
if fileFormat == "" {
fileFormat = "[%D %T] [%L] %M"
}
level := l4g.DEBUG
if s.FileLevel == "INFO" {
level = l4g.INFO
} else if s.FileLevel == "WARN" {
level = l4g.WARNING
} else if s.FileLevel == "ERROR" {
level = l4g.ERROR
}
flw := l4g.NewFileLogWriter(GetLogFileLocation(s.FileLocation), false)
flw.SetFormat(fileFormat)
flw.SetRotate(true)
flw.SetRotateLines(LOG_ROTATE_SIZE)
l4g.AddFilter("file", level, flw)
}
}