58 lines
1.3 KiB
Go
58 lines
1.3 KiB
Go
package main
|
|
|
|
import (
|
|
"bufio"
|
|
"fmt"
|
|
"io"
|
|
"os"
|
|
"time"
|
|
)
|
|
|
|
import l4g "code.google.com/p/log4go"
|
|
|
|
const (
|
|
filename = "flw.log"
|
|
)
|
|
|
|
func main() {
|
|
// Get a new logger instance
|
|
log := l4g.NewLogger()
|
|
|
|
// Create a default logger that is logging messages of FINE or higher
|
|
log.AddFilter("file", l4g.FINE, l4g.NewFileLogWriter(filename, false))
|
|
log.Close()
|
|
|
|
/* Can also specify manually via the following: (these are the defaults) */
|
|
flw := l4g.NewFileLogWriter(filename, false)
|
|
flw.SetFormat("[%D %T] [%L] (%S) %M")
|
|
flw.SetRotate(false)
|
|
flw.SetRotateSize(0)
|
|
flw.SetRotateLines(0)
|
|
flw.SetRotateDaily(false)
|
|
log.AddFilter("file", l4g.FINE, flw)
|
|
|
|
// Log some experimental messages
|
|
log.Finest("Everything is created now (notice that I will not be printing to the file)")
|
|
log.Info("The time is now: %s", time.Now().Format("15:04:05 MST 2006/01/02"))
|
|
log.Critical("Time to close out!")
|
|
|
|
// Close the log
|
|
log.Close()
|
|
|
|
// Print what was logged to the file (yes, I know I'm skipping error checking)
|
|
fd, _ := os.Open(filename)
|
|
in := bufio.NewReader(fd)
|
|
fmt.Print("Messages logged to file were: (line numbers not included)\n")
|
|
for lineno := 1; ; lineno++ {
|
|
line, err := in.ReadString('\n')
|
|
if err == io.EOF {
|
|
break
|
|
}
|
|
fmt.Printf("%3d:\t%s", lineno, line)
|
|
}
|
|
fd.Close()
|
|
|
|
// Remove the file so it's not lying around
|
|
os.Remove(filename)
|
|
}
|