Log¶
auxo 中的 log 包借鉴了 Java 中大名鼎鼎的 log4j 组件的设计。日志核心组件包括 Logger
和 Writer
。
┌─────────┬────────┐ ┌─────────┬────────┐
│ Logger │ │ │ Logger │ │
├─────────┘ │ ├─────────┘ │
│ │ │ │
│ auxo.net.rpc │ │ root │
│ │ │ │
└──────────────────┘ └──────────────────┘
│ │
│ ┌─────────────┴──────────────┐
▼ ▼ ▼
┌─────────┬────────┐ ┌─────────┬────────┐ ┌─────────┬────────┐
│ Writer │ │ │ Writer │ │ │ Writer │ │
├─────────┘ │ ├─────────┘ │ ├─────────┘ │
│ │ │ │ │ │
│ console │ │ file │ │ kafka │
│ │ │ │ │ │
└──────────────────┘ └──────────────────┘ └──────────────────┘
Usage¶
logger := log.Get("auxo.net.web")
logger.Info("test")
The log
package try to find logger with name auxo.net.web first, then auxo.net and auxo. If none of named logger was found, auxo return root logger.
配置¶
以 YAML 配置格式为例
log:
loggers:
- level: info
writers: text,json
- name: 'auxo.net.web'
level: debug
writers: text
writers:
- name: text
type: console
layout: '[{L}]{T}: {M} - {F:S}{N}'
options:
colorized: true
- name: json
type: console
layout: '{level: a=b},{time: 2006-01-02T15:04:05.000Z07:00},{msg},{file: short},{text->tag: test}'
format: json
Logger:
- name: The name of Logger, it's a root Logger if name is omited.
- level: The min level which will be logged.
- writers: The output writers, separated by comma for multiple writers.
Writer:
- name: The name of Writer, this option is required.
- format: The log format, valid format is text/json, default is text.
- layout: The pattern for render logs, it depends on format.
- options: The options for writer.
Format¶
Format 用来设置日志的输出格式,目前支持 text
和 json
两种格式。
Layout¶
Layout 用来设置日志的输出样式与布局。Layout 格式跟 Format 是相关的。
Coming soon
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.