log4go使用者指導

2021-09-20 03:10:37 字數 4345 閱讀 1332

go get github.com/c-****n/log4go
import l4g "github.com/c-****n/log4go"
全域性 logger
l4g.

info

("hello world"

)defer l4g.

close

()

新建預設logger newdefaultlogger
log := l4g.

newdefaultlogger

(l4g.info)

log.

info

("hello world"

)defer log.

close

()

新建logger l4g.logger
log :=

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

輸出到控制台的writer
log :=

make

(l4g.logger)

defer log.

close()

log.

addfilter

("stdout"

, l4g.debug, l4g.

newconsolelogwriter()

)log.

info

("hello world"

)

輸出到檔案的writer
log :=

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表中的資料 以上三步就可以直接儲存操作日誌,當然...