You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

121 lines
2.2 KiB

3 years ago
package main
import (
"alogs"
"errs"
3 years ago
"fmt"
"mems"
"os"
"vals/flds"
3 years ago
)
func Print (err error) {
if err != nil {
fmt.Print(errs.Encode(err,nil))
}
}
func Append (entry *alogs.Entry) error {
b := mems.NewABuffer()
b.WriteString("---------------------------------------------------\n")
b.WriteString(entry.Level.String())
b.WriteByte('\n')
b.WriteString("Logger : ")
b.WriteString(entry.Logger.Name())
b.WriteByte('\n')
b.WriteString("Entrada : ")
b.WriteUIntStr(entry.Id,10)
b.WriteByte('\n')
b.WriteString("Mensage : ")
b.WriteString(entry.Message)
b.WriteByte('\n')
if entry.Error != nil {
b.WriteString("error :")
b.WriteString(entry.Error.Error())
b.WriteByte('\n')
}
fmt.Fprint(os.Stderr,b.String())
return nil
}
func Append2 (_ *alogs.Entry) error {
return errs.NewErrMessage(errs.ErrCode("UnError"),"Esto es el mensaje del error")
}
func main() {
var fs flds.SFields
fs = fs.AddField(flds.NewSFieldSigned("Z",1))
fs = fs.AddField(flds.NewSFieldSigned("a",1))
fs = fs.AddField(flds.NewSFieldSigned("m",1))
fs = fs.AddField(flds.NewSFieldSigned("b",1))
fs.Sort()
for i:= 0; i<len(fs); i++ {
fmt.Printf("%s\n",fs[i].Name())
}
/*
cx,cl := context.WithCancel(context.Background())
//cl()
l,er := alogs.NewActiveLogger(alogs.LevelAll,
alogs.ActiveLoggerWithContext(cx,true),
alogs.ActiveLoggerWithOnError(func(a *alogs.ActiveLogger,err error, s alogs.Logger){
if s != nil {
//fmt.Printf("Error producido en logger [%s] se procede a su paro\n", s.Name())
//fmt.Println(errs.Encode(err,nil))
fmt.Print(errs.Encode(s.Stop(),nil))
}
}),
)
if er != nil {
fmt.Print(errs.Encode(er,nil))
time.Sleep(500*time.Millisecond)
return
}
l1,_:= alogs.NewLoggerCore("MiLogger",alogs.LevelAll,alogs.LoggerCoreWithAppender(alogs.AppendEntryFnc(Append)))
l2,_:=alogs.NewLoggerCore("LoggerProblematico",alogs.LevelAll,alogs.LoggerCoreWithAppender(alogs.AppendEntryFnc(Append2)))
l.AddLogger(l1)
l.AddLogger(l2)
if er := l.Start(); er != nil {
e := errs.Encode(er,nil)
fmt.Printf("\n %s\n%s\n",e,er.Error())
return
}
for i:=0; i<3; i++ {
l.Warn("Esto es un mensage")
}
//time.Sleep(1000 * time.Millisecond)
cl()
*/
3 years ago
}

Powered by TurnKey Linux.