软件必不可少的是日志反馈,如果没有反馈,那么就不知道自己的软件出问题在哪里,也不知道执行到哪一个步骤
市场的日志系统,我有了解过,要实现高并发,还要实现多终端反馈结果,需要一套完备的日志系统,为此,我写了
易语言的日志系统,请供参考
日志系统.rar
(2.16 MB, 下载次数: 149)
调用案例
|
通用_ODBC数据库连接 | 逻辑型 | | |
ODBC | 类_ODBC数据库 | | | | 类型 | 整数型 | | | | SQLite文件名 | 文本型 | | | | 库名 | 文本型 | | | | 地址 | 文本型 | | | | 端口 | 整数型 | | | | 账号 | 文本型 | | | | 密码 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_路径 | 文本型 | | | 局_逻辑 | 逻辑型 | | | 局_文本 | 文本型 | | |
ODBC. 关闭 () 如果真 (目录_是否存在 (取运行目录 () + “\data\”) = 假) 目录_创建 (取运行目录 () + “\data\”) 如果真 (目录_是否存在 (取运行目录 () + “\db”) = 假) 创建目录 (取运行目录 () + “\db”) 如果真 (类型 = 0 ) 局_路径 = 取运行目录 () + “\db\” + SQLite文件名 + “.db” 如果真 (文件_是否存在 (局_路径 ) = 假) 返回 (假) 局_逻辑 = ODBC.连接 (“Driver=SQLite3 ODBC Driver;Database=” + 局_路径) 如果真 (局_逻辑 = 假) 线程_启动 (&DLL_数据库驱动, , )  信息框 (取文本 (“路径[%s]%s连接错误可能是没有安装SQLited的驱动”, 局_路径, #换行符 ), 0, , )  如果真 (类型 = 1 ) 局_文本 = “Driver={MySQL ODBC 3.51 Driver}; DataBase=%s; Server=%s; Port=%s; option=3; Charset=gbk;UID=%s;pwd=%s” 局_文本 = 取文本 (局_文本, 库名, 地址, 端口, 账号, 密码 ) 局_逻辑 = ODBC. 连接 (局_文本 ) 如果真 (局_逻辑 = 假) 信息框 (“连接mysql数据库失败”, 0, , ) 返回 (局_逻辑)
窗口程序集名 | 保 留 | 保 留 | 备 注 | 日志系统, , 公开 | | | | 变量名 | 类 型 | 数组 | 备 注 | ODBC | 类_ODBC数据库 | | 软件名 | 文本型 | | DB类型 | 整数型 | | 是否开启 | 逻辑型 | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_密码 | 文本型 | | | 局_账号 | 文本型 | | | 局_库名 | 文本型 | | | 局_端口 | 整数型 | | | 局_地址 | 文本型 | | | 局_类型 | 整数型 | | | 局_DB_ini | 文本型 | | | 局_逻辑 | 逻辑型 | | | 局_文本 | 文本型 | | | 局_DB路径 | 文本型 | | | JS | zyJsonDocument | | |
局_DB_ini = 取运行目录 () + “\data\log.ini”是否开启 = 文件_是否存在 (局_DB_ini ) 如果真 (是否开启 = 假) 返回 () 如果真 (目录_是否存在 (取运行目录 () + “\data\”) = 假) 目录_创建 (取运行目录 () + “\data\”) 如果真 (目录_是否存在 (取运行目录 () + “\db”) = 假) 创建目录 (取运行目录 () + “\db”) 局_类型 = 选择 (读配置项 (局_DB_ini, “组合框”, “组合框_数据库类型”, ) = “Mysql”, 1, 0 )局_地址 = 读配置项 (局_DB_ini, “编辑框”, “编辑框_地址”, )局_端口 = 到数值 (读配置项 (局_DB_ini, “编辑框”, “编辑框_端口”, )) 局_库名 = 读配置项 (局_DB_ini, “编辑框”, “编辑框_库名”, )局_账号 = 读配置项 (局_DB_ini, “编辑框”, “编辑框_账号”, )局_密码 = 读配置项 (局_DB_ini, “编辑框”, “编辑框_密码”, )局_DB路径 = 读配置项 (局_DB_ini, “编辑框”, “编辑框_SQL文件名”, “sql”)局_DB路径 = 选择 (局_DB路径 = “”, “sql”, 局_DB路径 )DB类型 = 局_类型 通用_ODBC数据库连接 (ODBC, 局_类型, 局_DB路径, 局_库名, 局_地址, 局_端口, 局_账号, 局_密码 ) ODBC. 关闭 ()软件名 = 软件名称 通用_SQL (“异常”, 来源, 内容 )通用_SQL (“信息”, 来源, 内容 )通用_SQL (“警告”, 来源, 内容 )通用_SQL (“调试”, 来源, 内容 )通用_SQL (“任务”, 来源, 内容 ) 如果真 (是否开启 = 假) 返回 ()局_SQL = “INSERT INTO 日志表 (时间, 软件, 来源, 类型, 内容) VALUES (%s, '%s', '%s', '%s', '%s')” 如果 (DB类型 = 0 ) 局_SQL = 取文本 (局_SQL, “DATETIME ('now','+8 hour')”, 软件名, 来源, 类型, 内容 ) 局_SQL = 取文本 (局_SQL, “now()”, 软件名, 来源, 类型, 内容 )ODBC.执行SQL (局_SQL, )
|