以下内容大部分来自http://www.mycat.org.cn/document/Mycat_V1.6.0.pdf。
有一小部分已经验证完毕,还有一小部分未验证,先做记录,验证过后会更新本博文。
mycat日志文件配置为 MYCAT_HOME/conf/log4j.xml
没运行时,该文件内容为空。
日志配置是标准的log4j配置,其中:
<paramname="file" value="${MYCAT_HOME}/mycat.log />
是日志存放目录
<root>
<levelvalue="debug" />
<appender-refref="ConsoleAppender" />
</root>
是日志的级别,生成环境下建议将级别调整为info/ware,如果是研究测试,特别是碰到异常可以通过开启debug模式观察日志的信息查找异常原因。
1.wrapper日志:(http://www.mycat.org.cn/document/Mycat_V1.6.0.pdf文档中有拼写错误)
目前Mycat的启动时经过wrapper封装成启动脚本,所以日志也会有相关日志文件。
地址为:${MYCAT_HOME}/logs/wrapper.log启动时如果系统环境配置错误较少或缺少配置时,导致Mycat无法启动,可以通过查看wrapper.log查看具体错误原因。
环境配置完成后:
文件内容如下:
如启动时,异常原因为java.net.BindException:Address already in use,也就是端口占用,很有可能是原有服务未停止,或者Mycat默认端口被其他程序占用,正常启动成功后会有mycat.log日志,如果服务未启动成功不会有对应日志。
另:对wrapper的学习见博文:
2.mycat日志
只启动服务,未运行任何demo的日志长这样
因为还没跑demo,下面的内容先记录下来,以后验证。
1.可以看到配置的数据源相关信息
2.可以看到Mycat的缓存信息及动态类加载信息
3.可以看到mycat线程池、buffer、连接池等等所有的配置信息,通过该启动项可以得知当前运行的mycat的参数调整情况。生产环境下需要做部分参数调整,可以根据日志分析参数情况
3.debug模式下分析sql执行
通过日志可以看到mycat整个执行的计划,其中最重要的是sql路由的计划,可以看到sql具体被分片到哪个分片执行。
如果某个sql通过缓存、分片规则或者注释制定只会在某个分片执行,则sql只会被分配到某个分片。
4.异常日志
mycat日志很重要,当发现sql执行有异常的时候,大多数情况下,都可以通过分析mycat日志来定位错误。