本文主要從log4j2的角度對zap作一下小結git
從配置文件上看,分爲以下幾個部分:github
appendersgolang
pattern layoutjson
policiesapi
loggersapp
在使用上主要是考慮幾點:異步
log的輸入async
log的輸出elasticsearch
輸出格式日誌
輸出方式
輸出地方
log文件
zap要自定義layout的話,須要本身定製encoder,zap默認支持json格式
zap的輸出使用的是Sink/WriteSyncer,好比要輸出到elasticsearch或者mq之類,能夠自定義一個sink;zap默認支持console、file輸出
zap目前貌似沒有相似log4j2的async的log,針對layout須要本身定製encoder,針對輸出須要本身定製Sink/WriteSyncer,要同時輸出到多種不一樣的地方,能夠使用zapcore.NewMultiWriteSyncer來包裝成一個新的core。