// Open 日志不显示
func (I *Log_interface) Log_show_control(show bool) (O *Log_interface) {
O = Copy(I)
- //
- O.Block(100)
O.Stdout = show
return
}
// Open 日志输出至文件
func (I *Log_interface) Log_to_file(fileP string) (O *Log_interface) {
O = I
- //
- O.Block(100)
if O.File != `` && fileP != `` {
O.File = fileP
f.New(O.File, 0, true).Create()
// Open 日志输出至DB
func (I *Log_interface) LDB(db *sql.DB, insert string) (O *Log_interface) {
O = I
- //
- O.Block(100)
if db != nil && insert != `` {
O.DBConn = db
O.DBInsert = insert
return I.Log_to_file(fileP)
}
-// Block 阻塞直到本轮日志输出完毕
-func (I *Log_interface) Block(ms int) (O *Log_interface) {
- O = I
- O.MQ.PushLock_tag(`block`, Msg_item{})
- return
-}
-
func (I *Log_interface) Close() {
I.MQ.ClearAll()
if I.DBConn != nil {
Prefix_string: map[string]struct{}{`T:`: On, `I:`: On, `W:`: On, `E:`: On},
})
- n.L(`T:`, `s`).L(`I:`, `s`).Block(1000)
+ n.L(`T:`, `s`).L(`I:`, `s`)
n.Log_to_file(`2.log`).L(`W:`, `s`).L(`E:`, `s`)
{
}
n.Level(map[string]struct{}{`W:`: On}).L(`T:`, `s`).L(`I:`, `s`).L(`W:`, `s`).L(`E:`, `s`)
- n.Block(1000)
}
var n *Log_interface