问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java正则表达式解析Mysql数据库错误日志

发布网友 发布时间:2022-04-26 13:16

我来回答

4个回答

热心网友 时间:2022-04-09 05:21

System.out.println( new ReadSingleLineNumber().test2());
}

MySqlLog test2(){
String log = "2018-03-21T13:46:01.185376Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).";
String[] head = log.substring(0, log.indexOf(']') + 1).split(" ");
return new MySqlLog(head[0].trim(), Integer.parseInt(head[1].trim()), head[2].trim().substring(head[2].trim().indexOf('[') + 1, head[2].trim().indexOf(']')), log.substring(log.indexOf(']') + 2).trim());
}

class MySqlLog{
String time;
int index;
String level;
String msg;
public MySqlLog(String time, int index, String level, String msg) {
this.time = time;

热心网友 时间:2022-04-09 06:39

CSDN上面的那个问题也是你提的,提问题也是一门艺术。。。

热心网友 时间:2022-04-09 08:14

MySQL 8.0 重新定义了错误日志输出和过滤,改善了原来臃肿并且可读性很差的错误日志。比如增加了 JSON 输出,在原来的日志后面以序号以及 JSON 后缀的方式展示。比如我机器上的 MySQL 以 JSON 保存的错误日志 mysqld.log.00.json:[root@centos-ytt80 mysql80]# jq . mysqld.log.00.json{  "log_type": 1,  "prio": 1,  "err_code": 12592,  "subsystem": "InnoDB",  "msg": "Operating system error number 2 in a file operation.",  "time": "2019-09-03T08:16:12.111808Z",  "thread": 8,  "err_symbol": "ER_IB_MSG_767",  "SQL_state": "HY000",  "label": "Error"}{  "log_type": 1,  "prio": 1,  "err_code": 12593,  "subsystem": "InnoDB",  "msg": "The error means the system cannot find the path specified.",  "time": "2019-09-03T08:16:12.111915Z",  "thread": 8,  "err_symbol": "ER_IB_MSG_768",  "SQL_state": "HY000",  "label": "Error"}{  "log_type": 1,  "prio": 1,  "err_code": 12216,  "subsystem": "InnoDB",  "msg": "Cannot open datafile for read-only: './ytt2/a.ibd' OS error: 71",  "time": "2019-09-03T08:16:12.111933Z",  "thread": 8,  "err_symbol": "ER_IB_MSG_391",  "SQL_state": "HY000",  "label": "Error"}以 JSON 输出错误日志后可读性和可操作性增强了许多。这里可以用 Linux 命令 jq 或者把这个字串 COPY 到其他解析 JSON 的工具方便处理。只想非常快速的拿出错误信息,忽略其他信息。[root@centos-ytt80 mysql80]#  jq   '.msg' mysqld.log.00.json"Operating system error number 2 in a file operation.""The error means the system cannot find the path specified.""Cannot open datafile for read-only: './ytt2/a.ibd' OS error: 71""Cannot calculate statistics for table `ytt2`.`a` because the .ibd file is missing. Please refer to http://dev.mysql.com/doc/refman/8.0/en/innodb-troubleshooting.html for how to resolve the issue.""Cannot calculate statistics for table `ytt2`.`a` because the .ibd file is missing. Please refer to http://dev.mysql.com/doc/refman/8.0/en/innodb-troubleshooting.html for how to resolve the issue."使用 JSON 输出的前提是安装 JSON 输出部件。

热心网友 时间:2022-04-09 10:05

大概别人能知道你想解析什么吧
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
湖北哪些学校有专升本 湖北哪些学校可以报专升本 华为mate7会不会卡 中央集权的本质 秦朝中央集权的实质是什么 秦朝建立专制主义中央集权制度的本质特征是 A改王为皇帝 B建立中央官制... 想生个女儿怎么备孕 怎样备孕生女孩7个方法 备孕怎样做才能生女孩 天津市国税局公务员面试成绩去哪儿查? 你有一个错误的SQL语法检查手册对应到你的MySQL MySQL中如何定义trigger? mysql 事件 系统参数 mysq Navicat 8中 l触发器 请教 mysql中的全文本搜索用在什么情况下? 贷款买房如何办理过户 买方贷款买房,如何过户 我已买房是贷款,写的是我的名字,父母的房子要给我怎么过户 我用小叔子名字贷款买房现在贷款未还清贷款,现在能过户到我自己的名下吗? 有贷款的房子怎么过户给未成年子女? 商业贷款买房如何过户?过户所需材料有哪些? 用妹妹名字贷款买房怎么过户 有贷款的房子怎么过户给别人 没还清贷款,房子怎么过户? 夫妻双方贷款买房,房产证上为2个人得名字,没有离婚,房产证怎么能过户到一个人名下? 商业贷款买房怎么过户 华为mate20手电筒中间是不是有一横的? 发财树寓意好,发财树什么时候开花? 发财树开花代表什么好兆头呢? “歼”字的拼音是什么? mysql 语句 这句话是什么意思 凉拌蒲公英怎么做 mysql_pconnect() 和 mysql_connect()区别,结果和手册讲得正好相反... mysql怎么设置thread 西餐三宝是哪几种原料? 西餐厨房三宝是什么 西餐调料三宝是那几样? 做酱牛肉洋葱能代替大葱吗 在家做一顿西餐都需要些什么东西呢? 【崇文门 —— 东单 —— 建国门 —— 国贸】沿线有无清静的西餐厅? 前门前怎么样?好不好?值不值得买? 开车从望京如何到新桥三宝乐西餐厅怎么走 前门前周边环境怎么样?生活便利吗? 360手机助手可以恢复微信聊删除吗天记录 删除的微信好友用360手机助手怎么恢复 微信上的朋友删除了还能恢复吗 m.cz88.net 高校教师资格证能全国通用吗? 高校教师资格证是全国通用的吗 教师资格证是全国通用吗 请问高等学校教师资格证是全国通用的吗?