Documentation
¶
Overview ¶
Package logger used to get a logger for modules to write log
Index ¶
- Constants
- func RefreshLogConfig(config *LogConfig)
- func SetLogConfig(config *LogConfig)
- type HerbtLogger
- func (l *HerbtLogger) Close()
- func (l *HerbtLogger) Debug(args ...interface{})
- func (l *HerbtLogger) DebugDynamic(getStr func() string)
- func (l *HerbtLogger) Debugf(format string, args ...interface{})
- func (l *HerbtLogger) Debugw(msg string, keysAndValues ...interface{})
- func (l *HerbtLogger) Error(args ...interface{})
- func (l *HerbtLogger) Errorf(format string, args ...interface{})
- func (l *HerbtLogger) Errorw(msg string, keysAndValues ...interface{})
- func (l *HerbtLogger) Fatal(args ...interface{})
- func (l *HerbtLogger) Fatalf(format string, args ...interface{})
- func (l *HerbtLogger) Fatalw(msg string, keysAndValues ...interface{})
- func (l *HerbtLogger) Info(args ...interface{})
- func (l *HerbtLogger) InfoDynamic(getStr func() string)
- func (l *HerbtLogger) Infof(format string, args ...interface{})
- func (l *HerbtLogger) Infow(msg string, keysAndValues ...interface{})
- func (l *HerbtLogger) Logger() *zap.SugaredLogger
- func (l *HerbtLogger) Panic(args ...interface{})
- func (l *HerbtLogger) Panicf(format string, args ...interface{})
- func (l *HerbtLogger) Panicw(msg string, keysAndValues ...interface{})
- func (l *HerbtLogger) SetLogger(logger *zap.SugaredLogger)
- func (l *HerbtLogger) Warn(args ...interface{})
- func (l *HerbtLogger) Warnf(format string, args ...interface{})
- func (l *HerbtLogger) Warnw(msg string, keysAndValues ...interface{})
- type KafkaLogConfig
- type KafkaLogger
- type KafkaSaslConfig
- type LogConfig
- type LogNodeConfig
Constants ¶
const ( MODULE_BLOCKCHAIN = "[Blockchain]" MODULE_NET = "[Net]" MODULE_STORAGE = "[Storage]" MODULE_SNAPSHOT = "[Snapshot]" MODULE_CONSENSUS = "[Consensus]" MODULE_TXPOOL = "[TxPool]" MODULE_CORE = "[Core]" MODULE_VM = "[Vm]" MODULE_RPC = "[Rpc]" MODULE_LEDGER = "[Ledger]" //nolint:golint,unused MODULE_CLI = "[Cli]" MODULE_CHAINCONF = "[ChainConf]" MODULE_ACCESS = "[Access]" MODULE_MONITOR = "[Monitor]" MODULE_SYNC = "[Sync]" MODULE_TXFILTER = "[TxFilter]" MODULE_BRIEF = "[Brief]" MODULE_EVENT = "[Event]" DefaultStackTraceLevel = "ERROR" )
Log module
Variables ¶
This section is empty.
Functions ¶
func RefreshLogConfig ¶
func RefreshLogConfig(config *LogConfig)
RefreshLogConfig refresh log levels of modules at initiation time of log module or refresh log levels of modules dynamically at running time.
func SetLogConfig ¶
func SetLogConfig(config *LogConfig)
SetLogConfig set the config of logger module, called in initialization of config module
Types ¶
type HerbtLogger ¶
type HerbtLogger struct {
// contains filtered or unexported fields
}
HerbtLogger is an implementation of herbt logger.
func GetLogger ¶
func GetLogger(name string) *HerbtLogger
GetLogger find or create a HerbtLogger with module name, usually called in initialization of all module. After one module get the logger, the module can use it forever until the program terminate.
func GetLoggerByChain ¶
func GetLoggerByChain(name, chainId string) *HerbtLogger
GetLoggerByChain find the HerbtLogger object with module name and chainId, usually called in initialization of all module. One module can get a logger for each chain, then logger can be use forever until the program terminate.
func (*HerbtLogger) Debug ¶
func (l *HerbtLogger) Debug(args ...interface{})
Debug Debug级日志 @param args
func (*HerbtLogger) DebugDynamic ¶
func (l *HerbtLogger) DebugDynamic(getStr func() string)
DebugDynamic 动态Debug级日志,只有需要日志输出时才会运行匿名函数的内容,产生日志结果 @param getStr
func (*HerbtLogger) Debugf ¶
func (l *HerbtLogger) Debugf(format string, args ...interface{})
Debugf Debug级日志,支持format @param format @param args
func (*HerbtLogger) Debugw ¶
func (l *HerbtLogger) Debugw(msg string, keysAndValues ...interface{})
Debugw Debug级日志,支持kv对 @param msg @param keysAndValues
func (*HerbtLogger) Error ¶
func (l *HerbtLogger) Error(args ...interface{})
Error Error级日志 @param args
func (*HerbtLogger) Errorf ¶
func (l *HerbtLogger) Errorf(format string, args ...interface{})
Errorf Error级日志,支持format @param format @param args
func (*HerbtLogger) Errorw ¶
func (l *HerbtLogger) Errorw(msg string, keysAndValues ...interface{})
Errorw Error级日志,支持kv对 @param msg @param keysAndValues
func (*HerbtLogger) Fatalf ¶
func (l *HerbtLogger) Fatalf(format string, args ...interface{})
Fatalf 失败日志,带Format @param format @param args
func (*HerbtLogger) Fatalw ¶
func (l *HerbtLogger) Fatalw(msg string, keysAndValues ...interface{})
Fatalw 失败日志,支持KV @param msg @param keysAndValues
func (*HerbtLogger) InfoDynamic ¶
func (l *HerbtLogger) InfoDynamic(getStr func() string)
InfoDynamic 动态Info级日志,只有需要日志输出时才会运行匿名函数的内容,产生日志结果 @param getStr
func (*HerbtLogger) Infof ¶
func (l *HerbtLogger) Infof(format string, args ...interface{})
Infof Info级日志,支持Format @param format @param args
func (*HerbtLogger) Infow ¶
func (l *HerbtLogger) Infow(msg string, keysAndValues ...interface{})
Infow Info级日志,支持kv对 @param msg @param keysAndValues
func (*HerbtLogger) Logger ¶
func (l *HerbtLogger) Logger() *zap.SugaredLogger
Logger 获得 HerbtLogger 内部的zap Logger @return *zap.SugaredLogger
func (*HerbtLogger) Panic ¶
func (l *HerbtLogger) Panic(args ...interface{})
Panic 记录日志并抛出Panic @param args
func (*HerbtLogger) Panicf ¶
func (l *HerbtLogger) Panicf(format string, args ...interface{})
Panicf 记录日志并抛出Panic,日志支持format @param format @param args
func (*HerbtLogger) Panicw ¶
func (l *HerbtLogger) Panicw(msg string, keysAndValues ...interface{})
Panicw 记录日志并抛出Panic,日志支持kv对 @param msg @param keysAndValues
func (*HerbtLogger) SetLogger ¶
func (l *HerbtLogger) SetLogger(logger *zap.SugaredLogger)
SetLogger set logger.
func (*HerbtLogger) Warnf ¶
func (l *HerbtLogger) Warnf(format string, args ...interface{})
Warnf Warn级日志,支持format @param format @param args
func (*HerbtLogger) Warnw ¶
func (l *HerbtLogger) Warnw(msg string, keysAndValues ...interface{})
Warnw Warn级日志,支持kv对 @param msg @param keysAndValues
type KafkaLogConfig ¶
type KafkaLogConfig struct { Servers []string `mapstructure:"servers"` // 0: None, 1: Gzip Compression int `mapstructure:"compression"` //默认的Kafka Topic Topic string `mapstructure:"topic"` // key: chainId value: topic TopicMapping map[string]string `mapstructure:"topic_mapping"` KafkaVersion string `mapstructure:"kafka_version"` Sasl *KafkaSaslConfig `mapstructure:"sasl"` }
KafkaLogConfig Kafka记录日志时的配置
func (*KafkaLogConfig) GetTopic ¶
func (c *KafkaLogConfig) GetTopic(chainId string) string
GetTopic 根据链ID,获得配置的Kafka的主题 @param chainId @return string
type KafkaLogger ¶
type KafkaLogger struct { Producer sarama.SyncProducer Topic string }
KafkaLogger 基于Kafka的Logger记录器
func NewKafkaProducer ¶
func NewKafkaProducer(logConfig *KafkaLogConfig, chainId string) (*KafkaLogger, error)
NewKafkaProducer 基于配置,初始化一个新的Kafka生产者 @param logConfig @param chainId @return *KafkaLogger @return error
type KafkaSaslConfig ¶
type KafkaSaslConfig struct { Enable bool `mapstructure:"enable"` UserName string `mapstructure:"username"` Password string `mapstructure:"password"` // 默认是PLAIN Mechanism string `mapstructure:"mechanism"` Version int `mapstructure:"version"` }
KafkaSaslConfig Kafka需要安全认证时的配置
type LogConfig ¶
type LogConfig struct { ConfigFile string `mapstructure:"config_file"` SystemLog LogNodeConfig `mapstructure:"system"` BriefLog LogNodeConfig `mapstructure:"brief"` EventLog LogNodeConfig `mapstructure:"event"` ModuleLog map[string]LogNodeConfig `mapstructure:"module"` }
LogConfig the config of log module
func DefaultLogConfig ¶
func DefaultLogConfig() *LogConfig
DefaultLogConfig create default config for log module
func (*LogConfig) GetConfigByModuleName ¶
func (c *LogConfig) GetConfigByModuleName(pureName string) LogNodeConfig
GetConfigByModuleName 获得某个模块的Log配置 @param pureName @return LogNodeConfig
type LogNodeConfig ¶
type LogNodeConfig struct { LogLevelDefault string `mapstructure:"log_level_default"` LogLevels map[string]string `mapstructure:"log_levels"` FilePath string `mapstructure:"file_path"` MaxAge int `mapstructure:"max_age"` RotationTime int `mapstructure:"rotation_time"` RotationSize int64 `mapstructure:"rotation_size"` LogInConsole bool `mapstructure:"log_in_console"` LogByChain bool `mapstructure:"log_by_chain"` //不同的链ID,存储在不同的日志文件夹中 JsonFormat bool `mapstructure:"json_format"` ShowColor bool `mapstructure:"show_color"` StackTraceLevel string `mapstructure:"stack_trace_level"` Kafka *KafkaLogConfig `mapstructure:"kafka"` }
LogNodeConfig the log config of node
func GetDefaultLogNodeConfig ¶
func GetDefaultLogNodeConfig() LogNodeConfig
GetDefaultLogNodeConfig create a default log config of node
func (LogNodeConfig) GetFilePath ¶
func (cfg LogNodeConfig) GetFilePath(chainId string) string
GetFilePath calculate log file path by chainId and config @param chainId @return string new file path