跳转至

Log

auxo 中的 log 包借鉴了 Java 中大名鼎鼎的 log4j 组件的设计。日志核心组件包括 LoggerWriter

┌─────────┬────────┐                        ┌─────────┬────────┐
│ 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 用来设置日志的输出格式,目前支持 textjson 两种格式。

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.