log

package
v0.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 2, 2026 License: MIT Imports: 14 Imported by: 0

Documentation

Overview

Package log provides zap-based logging service for gorp framework. Supports multiple output drivers: stdout, single file, rotating file. Configurable log level, format, and rotation policy.

日志包提供基于 zap 的日志服务,用于 gorp 框架。 支持多种输出驱动:stdout、单文件、滚动文件。 可配置日志级别、格式和滚动策略。

Package log provides zap backend implementation for gorp framework logging. Implements contract.Logger interface with configurable encoder and sink. Supports lumberjack for rotation and file-rotatelogs for time-based rotation.

日志包提供 zap 后端实现,用于 gorp 框架的日志服务。 实现 contract.Logger 接口,支持可配置的编码器和 sink。 支持 lumberjack 滚动和 file-rotatelogs 时间滚动。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CloseIfPossible

func CloseIfPossible(w any)

CloseIfPossible 尝试关闭 logger 资源。

func NewDefaultLogger

func NewDefaultLogger() (observabilitycontract.Logger, error)

NewDefaultLogger 返回框架默认的 zap logger(info 级别 + console 格式 + stdout)。

中文说明: - 供 framework 内部其他 provider(如 gin provider)在容器尚未就绪时获取兜底 logger; - 返回 contract.Logger 接口,调用方无需感知 zap 细节。

Types

type Provider

type Provider struct{}

Provider registers the logging service contract. Core logic: Read log config, create zap logger with sink, bind to container.

Provider 注册日志服务契约。 核心逻辑:读取日志配置、创建带 sink 的 zap logger、绑定到容器。

func NewProvider

func NewProvider() *Provider

NewProvider creates a new log provider.

NewProvider 创建新的日志 provider。

func (*Provider) Boot

Boot initializes the log provider. No additional startup logic required.

Boot 初始化日志 provider。 无需额外启动逻辑。

func (*Provider) DependsOn

func (p *Provider) DependsOn() []string

DependsOn returns the keys this provider depends on. Log provider depends on Config for log configuration.

DependsOn 返回该 provider 依赖的 key。 Log provider 依赖 Config 获取日志配置。

func (*Provider) IsDefer

func (p *Provider) IsDefer() bool

IsDefer indicates log provider should not defer loading. Must be available early for other providers to log.

IsDefer 表示日志 provider 不应延迟加载。 必须尽早可用以便其他 provider 记录日志。

func (*Provider) Name

func (p *Provider) Name() string

Name returns provider name for identification.

Name 返回 provider 名称,用于标识。

func (*Provider) Provides

func (p *Provider) Provides() []string

Provides returns the capability keys this provider exposes. Exposes LogKey for logging service.

Provides 返回 provider 暴露的能力键。 暴露 LogKey 用于日志服务。

func (*Provider) Register

func (p *Provider) Register(c runtimecontract.Container) error

Register binds the log factory to the container. Core logic: Read config, configure zap logger with sink, bind singleton.

Register 将日志工厂绑定到容器。 核心逻辑:读取配置、配置带 sink 的 zap logger、绑定单例。

type SinkConfig

type SinkConfig struct {
	Driver        string
	Filename      string
	RotatePattern string
	RotateMaxAge  time.Duration
	RotateTime    time.Duration
	MaxSizeMB     int
	MaxBackups    int
	MaxAgeDays    int
	Compress      bool
	LocalTime     bool
}

SinkConfig 描述日志输出端配置。

中文说明: - zap 是 framework 的必需依赖核(与 gin/gorm/redis 同级),直接内化在 framework/provider/log; - 业务如需深度定制 zap(多 sink、动态 level、自定义 encoder 等),可使用 contrib/log/zap 扩展层。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL