log

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Aug 3, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Debug

func Debug(msg string, fields ...zap.Field)

Debug はデバッグレベルのログを出力する

func Error

func Error(msg string, fields ...zap.Field)

Error はエラーレベルのログを出力する

func Fatal

func Fatal(msg string, fields ...zap.Field)

Fatal は致命的なエラーレベルのログを出力する(その後、プロセスを終了する)

func GetLogger

func GetLogger() *zap.Logger

GetLogger はグローバルロガーを取得する グローバルロガーが初期化されていない場合はデフォルト設定で初期化する

func Info

func Info(msg string, fields ...zap.Field)

Info は情報レベルのログを出力する

func InitGlobalLogger

func InitGlobalLogger(config Config) error

InitGlobalLogger はグローバルロガーを初期化する

func NewZapLogger

func NewZapLogger(config Config) (*zap.Logger, error)

NewZapLogger は設定に基づいてzapロガーを初期化する関数

func Sync

func Sync() error

Sync はバッファされたログをフラッシュする

func Warn

func Warn(msg string, fields ...zap.Field)

Warn は警告レベルのログを出力する

Types

type Config

type Config struct {
	// 基本設定
	Enabled bool  `yaml:"enabled"` // ロギングを有効にするか
	Level   Level `yaml:"level"`   // "debug", "info", "warn", "error"

	// ファイル出力設定
	File     string `yaml:"file"`      // ログファイルパス、空の場合はファイル出力なし
	MaxSize  int    `yaml:"max_size"`  // ログファイルの最大サイズ (MB)
	MaxAge   int    `yaml:"max_age"`   // ログファイルの保持日数
	MaxFiles int    `yaml:"max_files"` // 保持する古いログファイル数

	// 出力フォーマット
	Format Format `yaml:"format"` // "json", "text"など

	// コンソール出力設定
	ConsoleOutput bool `yaml:"console_output"` // コンソールにも出力するか
	Color         bool `yaml:"color"`          // カラー出力を使用するか
	Verbose       bool `yaml:"verbose"`        // 詳細出力を有効にするか
}

Config represents logging configuration

func DefaultConfig

func DefaultConfig() Config

DefaultConfig はデフォルトのログ設定を返す

func LoadConfigFromYAML

func LoadConfigFromYAML(path string) (*Config, error)

LoadConfigFromYAML loads logging configuration from the specified YAML file.

func LoadConfigFromYAMLContent

func LoadConfigFromYAMLContent(content string) (*Config, error)

LoadConfigFromYAMLContent loads logging configuration from YAML content string.

func (*Config) IsValidFormat

func (c *Config) IsValidFormat() bool

IsValidFormat はフォーマットが有効かどうかを検証する

func (*Config) IsValidLevel

func (c *Config) IsValidLevel() bool

IsValidLevel はログレベルが有効かどうかを検証する

func (*Config) String

func (c *Config) String() string

String はConfigの文字列表現を返す

func (*Config) Validate

func (c *Config) Validate() error

Validate は設定が有効かどうかを検証する

type ConsoleOutput

type ConsoleOutput struct {
	Verbose bool // 詳細出力モード
	Color   bool // カラー出力の有効/無効
}

ConsoleOutput は標準出力へのOutputWriter実装

func (*ConsoleOutput) Confirm

func (c *ConsoleOutput) Confirm(prompt string) bool

Confirm asks for user confirmation

func (*ConsoleOutput) Print

func (c *ConsoleOutput) Print(msg string)

Print outputs a standard message

func (*ConsoleOutput) PrintError

func (c *ConsoleOutput) PrintError(err error)

PrintError outputs an error message

func (*ConsoleOutput) PrintProgress

func (c *ConsoleOutput) PrintProgress(msg string)

PrintProgress outputs a progress message

func (*ConsoleOutput) PrintSuccess

func (c *ConsoleOutput) PrintSuccess(msg string)

PrintSuccess outputs a success message

func (*ConsoleOutput) PrintVerbose

func (c *ConsoleOutput) PrintVerbose(msg string)

PrintVerbose outputs a message only in verbose mode

func (*ConsoleOutput) Printf

func (c *ConsoleOutput) Printf(format string, args ...interface{})

Printf outputs a formatted standard message

type Format

type Format string

Format はログ出力フォーマットを表す型

const (
	TextFormat Format = "text"
	JSONFormat Format = "json"
)

ログフォーマット定数

type Level

type Level string

Level represents the logging level

const (
	DebugLevel Level = "debug"
	InfoLevel  Level = "info"
	WarnLevel  Level = "warn"
	ErrorLevel Level = "error"
)

ログレベル定数

type Logger

type Logger interface {
	Debug(msg string, fields ...zapcore.Field)
	Info(msg string, fields ...zapcore.Field)
	Warn(msg string, fields ...zapcore.Field)
	Error(msg string, fields ...zapcore.Field)
	Fatal(msg string, fields ...zapcore.Field)
}

Logger はアプリケーションで使用するロガーインターフェース

type OutputWriter

type OutputWriter interface {
	// 標準メッセージを出力
	Print(msg string)
	Printf(format string, args ...interface{})

	// 進捗状況を出力
	PrintProgress(msg string)

	// 成功メッセージを出力
	PrintSuccess(msg string)

	// エラーメッセージを出力
	PrintError(err error)

	// 詳細モード時のみ出力
	PrintVerbose(msg string)

	// ユーザーの確認を得る
	Confirm(prompt string) bool
}

OutputWriter はユーザー向け出力を扱うインターフェース

type TestOutput

type TestOutput struct {
	Messages       []string
	ErrorMessages  []string
	ProgressMsgs   []string
	SuccessMsgs    []string
	VerboseMsgs    []string
	ConfirmPrompts []string
	ConfirmReturn  bool // Confirmメソッドの戻り値を制御
	Verbose        bool // 詳細出力モードの制御
}

TestOutput はテスト用の出力キャプチャ

func NewTestOutput

func NewTestOutput(verbose bool) *TestOutput

NewTestOutput は新しいTestOutputを作成する

func (*TestOutput) Clear

func (t *TestOutput) Clear()

Clear resets all captured messages

func (*TestOutput) Confirm

func (t *TestOutput) Confirm(prompt string) bool

Confirm simulates user confirmation

func (*TestOutput) ContainsConfirmPrompt

func (t *TestOutput) ContainsConfirmPrompt(partialMsg string) bool

ContainsConfirmPrompt checks if any confirmation prompt contains the given text

func (*TestOutput) ContainsError

func (t *TestOutput) ContainsError(partialMsg string) bool

ContainsError checks if any error message contains the given text

func (*TestOutput) ContainsMessage

func (t *TestOutput) ContainsMessage(partialMsg string) bool

ContainsMessage checks if any standard message contains the given text

func (*TestOutput) ContainsProgress

func (t *TestOutput) ContainsProgress(partialMsg string) bool

ContainsProgress checks if any progress message contains the given text

func (*TestOutput) ContainsSuccess

func (t *TestOutput) ContainsSuccess(partialMsg string) bool

ContainsSuccess checks if any success message contains the given text

func (*TestOutput) ContainsVerbose

func (t *TestOutput) ContainsVerbose(partialMsg string) bool

ContainsVerbose checks if any verbose message contains the given text

func (*TestOutput) Print

func (t *TestOutput) Print(msg string)

Print outputs a standard message

func (*TestOutput) PrintError

func (t *TestOutput) PrintError(err error)

PrintError outputs an error message

func (*TestOutput) PrintProgress

func (t *TestOutput) PrintProgress(msg string)

PrintProgress outputs a progress message

func (*TestOutput) PrintSuccess

func (t *TestOutput) PrintSuccess(msg string)

PrintSuccess outputs a success message

func (*TestOutput) PrintVerbose

func (t *TestOutput) PrintVerbose(msg string)

PrintVerbose outputs a message only in verbose mode

func (*TestOutput) Printf

func (t *TestOutput) Printf(format string, args ...interface{})

Printf outputs a formatted standard message

func (*TestOutput) SetConfirmReturn

func (t *TestOutput) SetConfirmReturn(val bool)

SetConfirmReturn sets the return value for Confirm method

Jump to

Keyboard shortcuts

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