go get github.com/c-****n/log4go
import l4g "github.com/c-****n/log4go"
全域性 loggerl4g.
info
("hello world"
)defer l4g.
close
()
新建預設logger newdefaultloggerlog := l4g.
newdefaultlogger
(l4g.info)
log.
info
("hello world"
)defer log.
close
()
新建logger l4g.loggerlog :=
make
(l4g.logger)
defer log.
close()
log.
addfilter
("stdout"
, l4g.debug, l4g.
newconsolelogwriter()
)log.
info
("hello world"
)
log :=
make
(l4g.logger)
defer log.
close()
log.
addfilter
("stdout"
, l4g.debug, l4g.
newconsolelogwriter()
)log.
info
("hello world"
)
通過addfilter函式新增過濾器,
addfilter(name, level, writer)
第乙個引數: 過濾器名字,隨意, 只要不重複就行
第二個引數: 日誌級別
第三個引數: 輸出器
l4g.
finest()
l4g.
fine()
l4g.
debug()
l4g.
trace()
l4g.
info()
l4g.
warning()
l4g.
error()
l4g.
critical
()
對應於不同級別
finest
fine
debug
trace
info
warning
error
critical
輸出到控制台的writerlog :=
make
(l4g.logger)
defer log.
close()
log.
addfilter
("stdout"
, l4g.debug, l4g.
newconsolelogwriter()
)log.
info
("hello world"
)
輸出到檔案的writerlog :=
make
(l4g.logger)
flw := l4g.
newfilelogwriter
(filename,
false
)// %t - time (15:04:05 mst)
// %t - time (15:04)
// %d - date (2006/01/02)
// %d - date (01/02/06)
// %l - level (fnst, fine, debg, trac, warn, eror, crit)
// %s - source
// %m - message
// it ignores unknown format strings (and removes them)
// recommended: "[%d %t] [%l] (%s) %m"
flw.
setformat
("[%d %t] [%l] (%s) %m"
)flw.
setrotate
(false
)flw.
setrotatesize(0
)flw.
setrotatelines(0
)flw.
setrotatedaily
(false
)flw.
setrotatemaxbackup
(999
)log.
addfilter
("file"
, l4g.fine, flw)
newfilelogwriter(filename string, rotate bool)日誌檔案名字,是否多檔案
setformat(format string)設定輸出格式
flw.setheadfoot(head string, foot string)日誌頭和腳
setrotate(rotate bool)設定是否多檔案,需要和newfilelogwriter一致
setrotatesize(maxsize int)設定乙個檔案大小, 0不限制
setrotatelines(maxlines int)設定乙個檔案多少行, 0不限制
setrotatedaily(daily bool)每天乙個日誌檔案
setrotatemaxbackup(maxbackup int)預設999, 最多多少個日誌檔案
配置檔案編寫
>
enabled
="true"
>
>
stdouttag
>
>
consoletype
>
>
debuglevel
>
filter
>
enabled
="true"
>
>
filetag
>
>
filetype
>
>
finestlevel
>
name
="filename"
>
test{}.logproperty
>
name
="format"
>
[%d %t] [%l] (%s) %mproperty
>
name
="rotate"
>
falseproperty
>
name
="maxsize"
>
0mproperty
>
name
="maxlines"
>
0kproperty
>
name
="maxbackup"
>
999property
>
name
="daily"
>
trueproperty
>
filter
>
logging
>
example.json
配置檔案匯入
xmlconfigurationexample.go
jsonconfigexample.go
日誌輸出用的是go執行緒,一旦主線程結束,go執行緒也會跟著結束,所以go執行緒中沒有執行完的,會直接停止。這個樣子
go語言中日誌第三方包log4go的使用
文中通重載入配置檔案使用log4go。二 配置檔案log4go.xml stdout console info file file debug test client.log d t l s m true 10m0k false xmllog xmltrace trace.xml true 100m...
log4j MDC使用者操作日誌追蹤配置
一種解決的辦法是採用自定義的日誌格式,把使用者的資訊採用某種方式編碼在日誌記錄中。這種方式的問題在於要求在每個使用日誌記錄器的類中,都可以訪問到使用者相關的資訊。這樣才可能在記錄日誌時使用。這樣的條件通常是比較難以滿足的。mdc 的作用是解決這個問題。mdc 可以看成是乙個與當前執行緒繫結的雜湊表,...
log4j用來儲存使用者操作日誌
1.log4j.properties配置檔案中的資訊 log4j.rootlogger debug,db,console log4j.logger.business info,db 2.資料庫表結構 3.controller中 1.查詢出project表中的資料 以上三步就可以直接儲存操作日誌,當然...