log_transformer

package
v0.0.0-...-07ef6c8 Latest Latest
Warning

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

Go to latest
Published: Jun 26, 2023 License: Artistic-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	AesSecretKey = []byte("qNhdOJbZls1q2BhH2htNTlZKDX9nFHEi")
	AesIV        = []byte("aQFNUBsnAZFJoIUe")
)

Functions

This section is empty.

Types

type Manager

type Manager struct {
	*sync.Mutex
	//需要三个receive,deliver,content
	NodeMap map[NodeKey]TransformerNode
	Crontab *cron.Cron
}

func NewManager

func NewManager(esSecretKey, aesIV []byte, fileDir string, receiveColumnNumber int, receiveMatcher []string, submitColumnNumber int, submitMatcher []string, deliverColumnNumber int, deliverMatcher []string) *Manager

mdl.receive.log mdl.submit.log mdl.deliver.log submitColumnNumber int,submitMatcher []string 11 deliverColumnNumber int,deliverMatcher []string 2

func (*Manager) Record

func (m *Manager) Record(message string, filename string) error

func (*Manager) Rotate

func (m *Manager) Rotate()

func (*Manager) StartCron

func (m *Manager) StartCron()

type Node

type Node struct {
	*sync.Mutex
	//文件名 例如mdl.receive.log 后面需要加上日期完整
	FileNamePrefix string
	//文件保存的目录
	FileDir string
	//文件 第一行标题栏
	FileHeader string
	//当前的写入文件
	Current *os.File
	//行分隔符
	Splitter string
	//分隔后匹配第多少行,从0开始计数
	ColumnNumber int
	//匹配内容字符串
	Matcher []string
	//加密密钥
	AesSecretKey []byte
	//偏移量
	AesIV []byte
	//
	SuccCount  int64
	TotalCount int64
}

func NewNode

func NewNode(filenamePrefix, fileDir, fileHeader, splitter string, columnNumber int, matcher []string, aesSecretKey []byte, aesIV []byte) *Node

func (*Node) JudgeMessage

func (n *Node) JudgeMessage(message string) bool

func (*Node) PrettyPrint

func (n *Node) PrettyPrint()

func (*Node) Record

func (n *Node) Record(message string) error

func (*Node) Rotate

func (n *Node) Rotate()

type NodeKey

type NodeKey string
const (
	Receive NodeKey = "receive"
	Submit  NodeKey = "submit"
	Deliver NodeKey = "deliver"
)

type TransformerManager

type TransformerManager interface {
	Record(message string, filename string) error
	Rotate() //根据日期以及类型新建或者关闭文件读写
	StartCron()
}

type TransformerNode

type TransformerNode interface {
	Record(message string) error
	Rotate() //根据日期以及类型新建或者关闭文件读写
	JudgeMessage(message string) bool
	PrettyPrint()
}

Jump to

Keyboard shortcuts

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