Documentation ¶
Overview ¶
Package bcg log 相关函数,用于打印调试信息,信息自动包含时间和在源文件的调用位置,在 IDEA 的输出窗口, 可以通过点击输出窗口迅速定位到编辑器的代码行。 可以设置日志保存到数据库,只需要在 SetLogParam 函数传入一个数据库实例。 To 版本的函数支持保存到不同的表,输出特性和没有 To 的函数相同 LogF 版本的函数可以格式化日志信息 log 字段
Index ¶
- Constants
- Variables
- func CRC16(data []byte) uint16
- func CRC16Append(data []byte) []byte
- func CRC16Bytes(data []byte) []byte
- func CRC16Check(data []byte) bool
- func CheckErrTrace(err error, trace uint) bool
- func CheckError(err error) bool
- func ClearLog()
- func ClearLogTo(table string)
- func CreateFolder(folder string) error
- func DeleteLog(idStart, idStop int64) int64
- func DeleteLogTo(table string, idStart, idStop int64) int64
- func Exec(sqlCase string, v ...interface{}) (sql.Result, error)
- func FileExist(path string) bool
- func GbkToUtf8(s []byte) (string, error)
- func GetDb() *sql.DB
- func GetNowDate() string
- func GetTrace(trace int) []string
- func HexParse(h string) []byte
- func HexString(v interface{}) (str string)
- func HttpGet(url string) []byte
- func HttpPostBody(api string, data []byte) ([]byte, error)
- func HttpPostForm(api string, params map[string]string) ([]byte, error)
- func IntToBytes(v interface{}) (buf []byte)
- func JsonLoadConf(fn string, conf interface{}) bool
- func JsonParseBytes(src []byte, pobj interface{}) bool
- func JsonParseString(src string, pobj interface{}) bool
- func JsonSaveConf(fn string, conf interface{}) bool
- func JsonToBytes(obj interface{}, format bool) []byte
- func JsonToString(obj interface{}, format bool) string
- func LogBlack(v ...interface{})
- func LogBlackTo(tabId string, v ...interface{})
- func LogBlue(v ...interface{})
- func LogBlueTo(tabId string, v ...interface{})
- func LogCyan(v ...interface{})
- func LogCyanTo(tabId string, v ...interface{})
- func LogFBlack(fs string, v ...interface{})
- func LogFBlackTo(table, fs string, v ...interface{})
- func LogFBlue(fs string, v ...interface{})
- func LogFBlueTo(table, fs string, v ...interface{})
- func LogFCyan(fs string, v ...interface{})
- func LogFCyanTo(table, fs string, v ...interface{})
- func LogFGreen(fs string, v ...interface{})
- func LogFGreenTo(table, fs string, v ...interface{})
- func LogFMagenta(fs string, v ...interface{})
- func LogFMagentaTo(table, fs string, v ...interface{})
- func LogFRed(fs string, v ...interface{})
- func LogFRedTo(table, fs string, v ...interface{})
- func LogFWhite(fs string, v ...interface{})
- func LogFWhiteTo(table, fs string, v ...interface{})
- func LogFYellow(fs string, v ...interface{})
- func LogFYellowTo(table, fs string, v ...interface{})
- func LogGreen(v ...interface{})
- func LogGreenTo(tabId string, v ...interface{})
- func LogMagenta(v ...interface{})
- func LogMagentaTo(tabId string, v ...interface{})
- func LogRed(v ...interface{})
- func LogRedTo(tabId string, v ...interface{})
- func LogTrace(color int, trace uint, v ...interface{})
- func LogWhite(v ...interface{})
- func LogWhiteTo(tabId string, v ...interface{})
- func LogYellow(v ...interface{})
- func LogYellowTo(tabId string, v ...interface{})
- func OpenMysql(user, pass, host, dbname string)
- func OpenSqlite(path, dbname string) (*sql.DB, error)
- func OsIsWin() bool
- func OutputColor(color int, v ...interface{})
- func Query(sqlCase string, qc QueryCall, v ...interface{}) error
- func Rand58String(n int) string
- func RandString(length int, base string) string
- func ReadFile(fn string) []byte
- func SaveFile(fn string, data []byte) (err error)
- func SaveFileAndFolder(fn string, data []byte) (err error)
- func SaveFileExistFail(fn string, data []byte) (err error)
- func SaveFileToFolder(folder, fn string, data []byte) (err error)
- func SaveFileToFolderExistFail(folder, fn string, data []byte) (err error)
- func SaveLogTo(tabName, log, trace string, color int)
- func SaveLogsTo(table string, logs []*LogInfo)
- func SetLogParam(param LogParam)
- func TcpConnect(ip string) (net.Conn, error)
- func TcpStartServer(port string, cb TcpOnConnect)
- func TestUG()
- func UGEncode(s string, success UGSuccessProc, failed UGFailedProc)
- func Utf8ToGbk(s string) ([]byte, error)
- type JsonArray
- type JsonObject
- func (js *JsonObject) Clear()
- func (js *JsonObject) Delete(key string)
- func (js *JsonObject) GetArray(key string) ([]interface{}, bool)
- func (js *JsonObject) GetBool(key string) (bool, bool)
- func (js *JsonObject) GetFloat64(key string) (float64, bool)
- func (js *JsonObject) GetInterface(key string) interface{}
- func (js *JsonObject) GetJson(key string) (JsonObject, bool)
- func (js *JsonObject) GetStrInt64(key string) (int64, bool)
- func (js *JsonObject) GetString(key string) (string, bool)
- func (js *JsonObject) Marshal(v interface{})
- func (js *JsonObject) ParseAnyString(str string) (interface{}, bool)
- func (js *JsonObject) ParseBytes(b []byte) error
- func (js *JsonObject) ParseString(str string) error
- func (js *JsonObject) SetStrInt64(key string, v int64)
- func (js *JsonObject) SetValue(key string, v interface{})
- func (js *JsonObject) SetValueTo(key string, v interface{}) (r bool)
- func (js *JsonObject) ToBytes() []byte
- func (js *JsonObject) ToString() string
- func (js *JsonObject) ToStruct(st interface{}) error
- type LogInfo
- type LogParam
- type QueryCall
- type QueryFunc
- type TcpOnConnect
- type UGFailedProc
- type UGSuccessProc
Constants ¶
const ( FormatDateTime = "2006-01-02 15:04:05" FormatDate = "2006-01-02" )
const ( DbTypeMysql = 0 DbTypeSqlite = 1 )
指明数据库的类型,目前支持Mysq和SQLite两种,其它数据库可能运行不正常,未测试
const ( TextBlack = iota + 30 TextRed TextGreen TextYellow TextBlue TextMagenta TextCyan TextWhite )
这些颜色在某些 console 窗口可能并不起作用
Variables ¶
var FilterIgnoreDiction = map[string]bool{}
FilterIgnoreDiction 过滤字典,有些日志不需要,统一过滤掉。规则是如果一个日志字串包含字典里的任何一个关键字,都会被忽略掉
Functions ¶
func CheckErrTrace ¶
CheckErrTrace trace = 1 记录使用这个函数的位置,trace = 2 记录上一级
func CheckError ¶
func DeleteLog ¶
DeleteLog 删除默认的日志记录,idStart 到 idStop 的log都会被删除,包含这两个 id,要删除一个id 设置 idStart = id = idStop
func DeleteLogTo ¶
DeleteLogTo 删除指定表的日志记录,idStart 到 idStop 的log都会被删除,包含这两个 id,要删除一个id 设置 idStart = id = idStop
func GbkToUtf8 ¶
GbkToUtf8 函数把 GBK 编码的字节数据转换为 UTF8 编码的字串,对于合法的 GBK 字节数据,这个函数不会失败, 但是如果源数据含有不能正常转换的数据,函数会反应一个错误和一个空字串。
func GetNowDate ¶
func GetNowDate() string
func JsonLoadConf ¶
func JsonParseBytes ¶
func JsonParseString ¶
func JsonSaveConf ¶
func JsonToBytes ¶
func JsonToString ¶
func LogBlackTo ¶
func LogBlackTo(tabId string, v ...interface{})
func LogFBlackTo ¶
func LogFBlackTo(table, fs string, v ...interface{})
func LogFBlueTo ¶
func LogFBlueTo(table, fs string, v ...interface{})
func LogFCyanTo ¶
func LogFCyanTo(table, fs string, v ...interface{})
func LogFGreenTo ¶
func LogFGreenTo(table, fs string, v ...interface{})
func LogFMagenta ¶
func LogFMagenta(fs string, v ...interface{})
func LogFMagentaTo ¶
func LogFMagentaTo(table, fs string, v ...interface{})
func LogFWhiteTo ¶
func LogFWhiteTo(table, fs string, v ...interface{})
func LogFYellow ¶
func LogFYellow(fs string, v ...interface{})
func LogFYellowTo ¶
func LogFYellowTo(table, fs string, v ...interface{})
func LogGreenTo ¶
func LogGreenTo(tabId string, v ...interface{})
func LogMagenta ¶
func LogMagenta(v ...interface{})
func LogMagentaTo ¶
func LogMagentaTo(tabId string, v ...interface{})
func LogWhiteTo ¶
func LogWhiteTo(tabId string, v ...interface{})
func LogYellowTo ¶
func LogYellowTo(tabId string, v ...interface{})
func OutputColor ¶
func OutputColor(color int, v ...interface{})
func Query ¶
Query 查询需要返回数据的语句,数据从回调函数的 rows 里获取,无需执行 rows 的 Close 函数, 这个设计的目的是减少遗忘 Close 的可能,因为遗忘 Close 不会对程序有立即的影响,直到 Mysql 资源被耗尽,对于海量的查询语句来说,定位哪里忘记 Close 是非常困难的。
func RandString ¶
func SaveFileAndFolder ¶
SaveFileAndFolder 函数会自动创建目标文件所在的目录文件夹,如果目标文件已经存在,数据会被覆盖, 此函数和 SaveFileToFolder 的区别是无需分开传输目录和文件参数
func SaveFileExistFail ¶
SaveFileExistFail 防止同名文件被覆盖,只有目标文件不存在才会成功
func SaveFileToFolder ¶
SaveFileToFolder 函数会自动创建目标文件所在的目录文件夹,如果目标文件已经存在,数据会被覆盖
func SaveFileToFolderExistFail ¶
SaveFileToFolderExistFail 保存到文件,并且生成所有上级文件夹(如果不存在),但是如果文件存在,函数失败, 用于防止已经存在的文件被覆盖
func SaveLogsTo ¶
SaveLogsTo 一次保存多条日志数据到数据库,使用批量语句优化数据库性能
func TcpStartServer ¶
func TcpStartServer(port string, cb TcpOnConnect)
func UGEncode ¶
func UGEncode(s string, success UGSuccessProc, failed UGFailedProc)
UGEncode 和 Utf8ToGbk 功能相同,转换 utf8 为 gbk,但是这函数会逐字符转换, 成功调用 success 回调,失败调用 failed 回调。
Types ¶
type JsonArray ¶
type JsonArray []interface{}
func NewJsonArray ¶
func NewJsonArray() JsonArray
func (*JsonArray) ParseBytes ¶
func (*JsonArray) ParseString ¶
type JsonObject ¶
type JsonObject map[string]interface{}
func NewJsonObject ¶
func NewJsonObject() JsonObject
func (*JsonObject) Clear ¶
func (js *JsonObject) Clear()
func (*JsonObject) Delete ¶
func (js *JsonObject) Delete(key string)
func (*JsonObject) GetArray ¶
func (js *JsonObject) GetArray(key string) ([]interface{}, bool)
func (*JsonObject) GetFloat64 ¶
func (js *JsonObject) GetFloat64(key string) (float64, bool)
func (*JsonObject) GetInterface ¶
func (js *JsonObject) GetInterface(key string) interface{}
func (*JsonObject) GetJson ¶
func (js *JsonObject) GetJson(key string) (JsonObject, bool)
func (*JsonObject) GetStrInt64 ¶
func (js *JsonObject) GetStrInt64(key string) (int64, bool)
GetStrInt64 这个函数只是用于取回字串是数字的值,在json字串里面对应的属性仍然是字串,这是因为float64转int64是存在精度误差的
func (*JsonObject) Marshal ¶
func (js *JsonObject) Marshal(v interface{})
func (*JsonObject) ParseAnyString ¶
func (js *JsonObject) ParseAnyString(str string) (interface{}, bool)
如果 str 不是用大括号括起来的 Object 字串,ParseString 就会失败, ParseAnyString 会把字串作为一个 key 来分析,这样只要是合法的 Json 字串,就能够返回正确的对象,比如布尔、字串,数字等等。
func (*JsonObject) ParseBytes ¶
func (js *JsonObject) ParseBytes(b []byte) error
func (*JsonObject) ParseString ¶
func (js *JsonObject) ParseString(str string) error
func (*JsonObject) SetStrInt64 ¶
func (js *JsonObject) SetStrInt64(key string, v int64)
func (*JsonObject) SetValue ¶
func (js *JsonObject) SetValue(key string, v interface{})
SetValue 这个函数会设置map对应key 值,但是可能和读取时是不一样的,因为反编译json字串的对象都是map,而设置的不一定, 你可以设置一个其它对象,它会被json序列化,而反序列化并不能还原这个对象,要反序列化为特定的对象使用 SetValueTo 函数
func (*JsonObject) SetValueTo ¶
func (js *JsonObject) SetValueTo(key string, v interface{}) (r bool)
func (*JsonObject) ToBytes ¶
func (js *JsonObject) ToBytes() []byte
func (*JsonObject) ToString ¶
func (js *JsonObject) ToString() string
func (*JsonObject) ToStruct ¶
func (js *JsonObject) ToStruct(st interface{}) error
type LogInfo ¶
type LogInfo struct { Id int `json:"id"` Color int `json:"color"` Log string `json:"log"` Trace string `json:"trace"` CreatedAt string `json:"created_at"` }
type LogParam ¶
type LogParam struct { DbType int LogDb *sql.DB LogTable string SaveToLog bool ShowOnConsole bool MaxLogCount int64 }
LogParam LogDb: A valid database value, it can't be nil, other feilds can be default DbType: Mysql:0 or SQLite:1, other database maybe not work, default is Mysql LogTable: table name of log, default is jsuse_log SaveToLog: log whether save to database, default is false ShowOnConsole: log whether show on console, default is true