grafalog

package module
v0.0.92 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2020 License: MIT Imports: 7 Imported by: 0

README

release go.dev reference

Grafalog 导入日志小工具

  • 支持日志推送到Mysql
  • 支持自定义解析日志格式
  • 实现接口可支持自定义推送数据源 , 比如Zabbix

Install

go get -u -v github.com/relunctance/grafalog

Start

  • 默认输出到终端
package main

import (
    "os"

    "github.com/relunctance/grafalog"
)

func main() {
    g := grafalog.New("./test.logs")
    err = g.Run() // default output os.Stdout
    if err != nil {
        panic(err)
    }
}

Example 示例

Contribute

  • Please feel free to make suggestions, create issues, fork the repository and send pull requests!

Documentation

Overview

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Index

Constants

View Source
const (
	DefaultReadSize = 20

	// 单位: 秒
	FlushTick = 1
)

Variables

This section is empty.

Functions

This section is empty.

Types

type DBer

type DBer interface {
	Push([]Dataer) error
}

what database you want to push

type Dataer

type Dataer interface {
	Item() []byte
}

type DefaultData

type DefaultData struct {
	// contains filtered or unexported fields
}

func (*DefaultData) Item

func (d *DefaultData) Item() []byte

type DefaultDb

type DefaultDb struct{}

func (*DefaultDb) Push

func (db *DefaultDb) Push(vals []Dataer) error

type DefaultFormat

type DefaultFormat struct{}

func (*DefaultFormat) Parse

func (f *DefaultFormat) Parse(val []byte) (Dataer, error)

type Formater

type Formater interface {
	Parse([]byte) (Dataer, error)
}

解析器

type GrafanaLog

type GrafanaLog struct {

	// 每次多取多少条, 这个参数会控制刷数据的窗口
	ChunkSize int
	// contains filtered or unexported fields
}

func New

func New(filepath string) *GrafanaLog

func (*GrafanaLog) RegisterDBer

func (g *GrafanaLog) RegisterDBer(db DBer)

func (*GrafanaLog) RegisterFormater

func (g *GrafanaLog) RegisterFormater(fm Formater)

func (*GrafanaLog) Run

func (g *GrafanaLog) Run() error

func (*GrafanaLog) SetDebug added in v0.0.9

func (g *GrafanaLog) SetDebug(v bool)

func (*GrafanaLog) SetFlushTick added in v0.0.8

func (g *GrafanaLog) SetFlushTick(v int)

设置定期刷数据时间, 单位: 秒

func (*GrafanaLog) SetReadSize

func (g *GrafanaLog) SetReadSize(v int)

func (*GrafanaLog) TailLine added in v0.0.8

func (g *GrafanaLog) TailLine() error

Directories

Path Synopsis
driver
mysql
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
example
default
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
mysql
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

Jump to

Keyboard shortcuts

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