ilog

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Sep 21, 2024 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DEFAULT   severity = "DEFAULT"
	DEBUG     severity = "DEBUG"
	INFO      severity = "INFO"
	NOTICE    severity = "NOTICE"
	WARNING   severity = "WARNING"
	ERROR     severity = "ERROR"
	CRITICAL  severity = "CRITICAL"
	ALERT     severity = "ALERT"
	EMERGENCY severity = "EMERGENCY"
)
View Source
const (
	LabelMemberID = "MemberID"
	LabelTradeSN  = "TradeSN"
)

Variables

View Source
var (
	ConfigDefault = Config{
		ReportedErrorEvent: "type.googleapis.com/google.devtools.clouderrorreporting.v1beta1.ReportedErrorEvent",
		ReportLevel:        []severity{ERROR, CRITICAL, ALERT, EMERGENCY},
	}
)

Config :GCP Error Report設定

Functions

func Fatal

func Fatal(format string, v ...interface{})

func FixUTF8

func FixUTF8(s string) string

func Init

func Init(config ...Config) error

Init : 初始化

func Panic

func Panic(format string, v ...interface{})

Types

type Config

type Config struct {
	LocalMode          bool
	ReportedErrorEvent string
	ReportLevel        []severity
}

Config :GCP Error Report設定

type Data

type Data struct {
	Entry
	// contains filtered or unexported fields
}

Entry : log 基礎結構

func Alert

func Alert(format string, v ...interface{}) *Data

Alert : log ALERT

func Body

func Body(b []byte) *Data

Body : 紀錄HTTP Body(自動判斷是否為json)

func Call

func Call(skip ...int) *Data

Call : 新增程式行數、位置、func name 等資料

func Criti

func Criti(format string, v ...interface{}) *Data

Criti : log CRITICAL

func Debug

func Debug(format string, v ...interface{}) *Data

Debug : log DEBUG

func Default

func Default(format string, v ...interface{}) *Data

Default : log DEFAULT

func Emergency

func Emergency(format string, v ...interface{}) *Data

Emergency : log EMERGENCY

func Err

func Err(format string, v ...interface{}) *Data

Err : log ERROR

func HTTP

func HTTP(h *logging.HttpRequest) *Data

HTTP : 紀錄HTTP相關資料

一般會放置於 defer 並配合 logreq 套件
func Header(m map[string][]string) *Data

Header : 紀錄HTTP Header

func Info

func Info(format string, v ...interface{}) *Data

Info : log INFO

func JSON

func JSON(b []byte) *Data

JSON : 紀錄JSON Byte

func Label

func Label(key, value string) *Data

Label : 為 log 加上標籤

func Member

func Member(MemberID string) *Data

Member : 於 log 的 header 新增 MemberID

func Noti

func Noti(format string, v ...interface{}) *Data

Noti : log NOTICE

func Ret

func Ret(retStatus int) *Data

Ret : 於 log 的 header 新增 retStatusCode 並更新 log 內部結構資料, 可用於接續Msg

func Struct

func Struct(i interface{}) *Data

Struct : 紀錄結構並轉為JSON儲存(會被golang的JSON機制限制)

func Trace

func Trace(t tracehandler.Trace) *Data

Trace : 新增 cloud trace id

func Trade

func Trade(TradeSN string) *Data

Trade : 於 log 的 header 新增 TradeSN

func Warn

func Warn(format string, v ...interface{}) *Data

Warn : log WARNING

func Write

func Write(se severity, s string) *Data

func Writef

func Writef(se severity, format string, v ...interface{}) *Data

Writef : 寫入log(包含format)

func (*Data) Alert

func (d *Data) Alert(format string, v ...interface{}) *Data

Alert : log ALERT

func (*Data) BaseProtocol

func (d *Data) BaseProtocol(msg ...string) *baseProtocol.RetStatus

BaseProtocol : 輸出結果給 BaseProtocol

func (*Data) Body

func (d *Data) Body(b []byte) *Data

Body : 紀錄HTTP Body(自動判斷是否為json)

func (*Data) Call

func (d *Data) Call(skip ...int) *Data

Call : 新增程式行數、位置、func name 等資料

func (*Data) Criti

func (d *Data) Criti(format string, v ...interface{}) *Data

Criti : log CRITICAL

func (*Data) Debug

func (d *Data) Debug(format string, v ...interface{}) *Data

Debug : log DEBUG

func (*Data) Default

func (d *Data) Default(format string, v ...interface{}) *Data

Default : log DEFAULT

func (*Data) Emergency

func (d *Data) Emergency(format string, v ...interface{}) *Data

Emergency : log EMERGENCY

func (*Data) Err

func (d *Data) Err(format string, v ...interface{}) *Data

Err : log ERROR

func (*Data) Error

func (d *Data) Error() string

func (*Data) Fatal

func (d *Data) Fatal(format string, v ...interface{})

func (*Data) HTTP

func (d *Data) HTTP(h *logging.HttpRequest) *Data

HTTP : 紀錄HTTP相關資料

一般會放置於 defer 並配合 logreq 套件

func (*Data) Header

func (d *Data) Header(m map[string][]string) *Data

Header : 紀錄HTTP Header

func (*Data) Info

func (d *Data) Info(format string, v ...interface{}) *Data

Info : log INFO

func (*Data) JSON

func (d *Data) JSON(b []byte) *Data

JSON : 紀錄JSON Byte

func (*Data) Label

func (d *Data) Label(key, value string) *Data

Label : 為 log 加上標籤

func (*Data) Member

func (d *Data) Member(MemberID string) *Data

Member : 於 log 的 header 新增 MemberID

func (*Data) Msg

func (d *Data) Msg(se ...severity) *Data

Msg : 將 RetStatus 結構內的訊息轉為 Log 並紀錄 (不填寫內容自動判斷是否為 ERROR)

func (*Data) Noti

func (d *Data) Noti(format string, v ...interface{}) *Data

Noti : log NOTICE

func (*Data) Panic

func (d *Data) Panic(format string, v ...interface{})

func (*Data) Ret

func (d *Data) Ret(retStatusCode int, msg ...string) *Data

Ret : 於 log 的 header 新增 retStatusCode 並更新 log 內部結構資料, 可用於接續Msg

func (*Data) RetErr

func (d *Data) RetErr() error

RetErr : 輸出 RetStatus 結果給 error handler

func (*Data) Struct

func (d *Data) Struct(i interface{}) *Data

Struct : 紀錄結構並轉為JSON儲存(會被golang的JSON機制限制)

func (*Data) Trace

func (d *Data) Trace(t tracehandler.Trace) *Data

Trace : 新增 cloud trace id

func (*Data) Trade

func (d *Data) Trade(TradeSN string) *Data

Trade : 於 log 的 header 新增 TradeSN

func (*Data) Warn

func (d *Data) Warn(format string, v ...interface{}) *Data

Warn : log WARNING

func (*Data) Write

func (d *Data) Write(se severity, s string) *Data

Writef : 寫入log(包含format)

func (*Data) Writef

func (d *Data) Writef(se severity, format string, v ...interface{}) *Data

Writef : 寫入log(包含format)

type Entry

type Entry struct {
	TimeStamp      string                          `json:"time,omitempty"`
	Severity       severity                        `json:"severity,omitempty"`
	Header         map[string][]string             `json:"header,omitempty"`
	Labels         map[string]string               `json:"logging.googleapis.com/labels,omitempty"`
	SourceLocation *logging.LogEntrySourceLocation `json:"logging.googleapis.com/sourceLocation,omitempty"`
	HttpRequest    *logging.HttpRequest            `json:"httpRequest,omitempty"`
	JsonPayload    googleapi.RawMessage            `json:"json,omitempty"`
	Message        string                          `json:"message,omitempty"`
	GcpType        string                          `json:"@type,omitempty"`

	*TraceEntry
	// contains filtered or unexported fields
}

Entry : log 基礎結構

type TraceEntry

type TraceEntry struct {
	Trace   string `json:"logging.googleapis.com/trace,omitempty"`
	SpanID  string `json:"logging.googleapis.com/spanId,omitempty"`
	Sampled bool   `json:"logging.googleapis.com/trace_sampled,omitempty"`
}

Entry : log 基礎結構

Jump to

Keyboard shortcuts

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