Documentation
¶
Index ¶
- Constants
- func ClearLog(tab string)
- func DeleteLog(tab string, idStart, idStop int64)
- func LogToBlack(tab string, a ...interface{})
- func LogToBlackF(tab, format string, a ...interface{})
- func LogToBlue(tab string, a ...interface{})
- func LogToBlueF(tab, format string, a ...interface{})
- func LogToCyan(tab string, a ...interface{})
- func LogToCyanF(tab, format string, a ...interface{})
- func LogToGreen(tab string, a ...interface{})
- func LogToGreenF(tab, format string, a ...interface{})
- func LogToMagenta(tab string, a ...interface{})
- func LogToMagentaF(tab, format string, a ...interface{})
- func LogToRed(tab string, a ...interface{})
- func LogToRedF(tab, format string, a ...interface{})
- func LogToWhite(tab string, a ...interface{})
- func LogToWhiteF(tab, format string, a ...interface{})
- func LogToYellow(tab string, a ...interface{})
- func LogToYellowF(tab, format string, a ...interface{})
- func MakeMysqlConfig(host, port, dbname, user, pass string) *mysql.Config
- func MakeMysqlSSLConfig(...) *mysql.Config
- func MakeTLSConfig(clientKeyPath, clientCertPath, caCertPath, serverName string) (cfg *tls.Config)
- func SetErrorSkip(skip int)
- func SetLogDb(dbType string, db *sql.DB, save bool)
- func SetLogLimit(name string, limit int64)
- func SetLogPath(path string, save bool)
- type Db
- func (db *Db) Begin() (*sql.Tx, SqlResult)
- func (db *Db) Close()
- func (db *Db) Exec(sqlCase string, v ...interface{}) SqlResult
- func (db *Db) GetDb() *sql.DB
- func (db *Db) OpenMysql(cfg *mysql.Config) bool
- func (db *Db) OpenPostgres(cfg *postgres.Config) bool
- func (db *Db) OpenSqlite3(dbpath, params string) bool
- func (db *Db) OutputConnectInfo() bool
- func (db *Db) Query(sqlCase string, qc QueryCall, v ...interface{}) SqlResult
- func (db *Db) QueryRow(sqlCase string, v ...interface{}) *sql.Row
- type LogInfo
- type QueryCall
- type QueryFunc
- type SQLiteMemDb
- type SqlResult
Constants ¶
const ( LogDbTypeFile = "file" LogDbTypeMysql = "mysql" LogDbTypeSqlite = "sqlite" LogDbTypePostgre = "postgre" )
const ( DatabaseTypeMysql = "mysql" DatabaseTypeSqlite = "sqlite" DatabaseTypePostgres = "postgres" )
Variables ¶
This section is empty.
Functions ¶
func DeleteLog ¶
DeleteLog 删除默认的日志记录,idStart 到 idStop 的log都会被删除,包含这两个 id,要删除一个id 设置 idStart = id = idStop
func LogToBlack ¶
func LogToBlack(tab string, a ...interface{})
noinspection GoUnusedExportedFunction
func LogToBlackF ¶
func LogToBlackF(tab, format string, a ...interface{})
noinspection GoUnusedExportedFunction
func LogToBlueF ¶
func LogToBlueF(tab, format string, a ...interface{})
noinspection GoUnusedExportedFunction
func LogToCyanF ¶
func LogToCyanF(tab, format string, a ...interface{})
noinspection GoUnusedExportedFunction
func LogToGreen ¶
func LogToGreen(tab string, a ...interface{})
noinspection GoUnusedExportedFunction
func LogToGreenF ¶
func LogToGreenF(tab, format string, a ...interface{})
noinspection GoUnusedExportedFunction
func LogToMagenta ¶
func LogToMagenta(tab string, a ...interface{})
noinspection GoUnusedExportedFunction
func LogToMagentaF ¶
func LogToMagentaF(tab, format string, a ...interface{})
noinspection GoUnusedExportedFunction
func LogToRedF ¶
func LogToRedF(tab, format string, a ...interface{})
noinspection GoUnusedExportedFunction
func LogToWhite ¶
func LogToWhite(tab string, a ...interface{})
noinspection GoUnusedExportedFunction
func LogToWhiteF ¶
func LogToWhiteF(tab, format string, a ...interface{})
noinspection GoUnusedExportedFunction
func LogToYellow ¶
func LogToYellow(tab string, a ...interface{})
noinspection GoUnusedExportedFunction
func LogToYellowF ¶
func LogToYellowF(tab, format string, a ...interface{})
noinspection GoUnusedExportedFunction
func MakeMysqlConfig ¶
MakeMysqlConfig 这个函数是为了简化 Config 的构造
func MakeMysqlSSLConfig ¶
func MakeMysqlSSLConfig(host, port, dbname, user, pass, tlsName, clientKeyPath, clientCertPath, caCertPath string) *mysql.Config
MakeMysqlSSLConfig 如果 TLS 注册失败,函数会返回 nil,这个函数是为了简化 Config 的构造 tlsName 如果是多连接需要不同名称,否则会产生冲突,单联接时可以传入空串,相当于使用默认名称 "judb-tls-config"
func MakeTLSConfig ¶
MakeTLSConfig Mysql 使用证书的方式和 PostgreSQL 不太一样,需要单独注册 另外,如果有多个连接,需要注册不同的名字:"judb-tls-config1","judb-tls-config2"
func SetLogDb ¶
SetLogDb 设置 Log 保存到数据库的方式
dbType string: 数据库类型, 目前支持 sqlite, mysql 和 postgresql 3 个值
db *DB: 数据库, 支持 MySql 和 SQLite3, 如果这个值是 nil, 则相当于取消日志系统绑定的数据库
save bool: 是否保存到数据库, 即使设置了日志系统绑定的数据库, 仍然可以设置不保存到数据库, 只打印到输出窗口 noinspection GoUnusedExportedFunction
func SetLogLimit ¶
SetLogLimit 设置日志表的最多条数, 防止日志无限增长, 但是旧的日志会被覆盖. 对于文件日志类型, 这个函数是无效的.
name string: 需要设置的日志名称, 空串对应的是默认日志.
limit int64: 设置日志的最大条数, 此值为 0 或负数, 则取消最大条数.
func SetLogPath ¶
Types ¶
type Db ¶
type Db struct {
// contains filtered or unexported fields
}
func (*Db) OpenSqlite3 ¶
OpenSqlite3 支持多线程写入, 这会稍微降低性能, 但是大多数场景很难避免多线程写入, 如果不启用这个特性, 写入时候有概率触发表被锁定提示.
dbpath: example ./data/log.db
params: 如果不需要修改参数,可以设置为空串,此时它的值是 _mutex=full&_journal_mode=WAL
func (*Db) OutputConnectInfo ¶
type SQLiteMemDb ¶
SQLiteMemDb SQLite 内存数据库, 它的函数并不支持并发, 但并不是说不能多线程调用, 而是不能频繁调用 普通的确认没有线程竞争的情况下是可以多线程调用的. 内存模式的数据库, 无论设置什么参数, 都不支持多线程 同时写
func (*SQLiteMemDb) Close ¶
func (mdb *SQLiteMemDb) Close()
func (*SQLiteMemDb) LoadFromFile ¶
func (mdb *SQLiteMemDb) LoadFromFile(fileDB string) bool
LoadFromFile 加载数据库内容到内存数据库
func (*SQLiteMemDb) Open ¶
func (mdb *SQLiteMemDb) Open() bool
func (*SQLiteMemDb) SaveToFile ¶
func (mdb *SQLiteMemDb) SaveToFile(fileDB string) bool
SaveToFile 这会把内存数据保存到指定的文件, 如果文件存在, 会被覆盖