durid 监控日志保存主要实现的类为:
com.alibaba.druid.pool.DruidDataSourceStatLoggerImpl
默认是通过 logger 保存的,并且日志级别为 info. 在 logback 可以配置为:
<logger name="com.alibaba.druid.pool.DruidDataSourceStatLoggerImpl" level="debug" additivity="false"> <appender-ref ref="STDOUT_SIMPLE"/> </logger>
此外还可以配置参数,设置为定时清理及记录至日志中,spring-boot 配置为:
# spring.datasource.druid.time-between-log-stats-millis: 300000 #配置每5分钟输出一次统计日志,统计后将清空日志
参数官方文档:
此外,还可以通过 com.alibaba.druid.support.http.stat.WebAppStatManager 从程序上来获取统计的数据
WebAppStatManager.getInstance()
如获取 uri 统计:
public List<Map<String, Object>> getURIStatData() { Set<Object> stats = getWebAppStatSet(); List<Map<String, Object>> allAppUriStatDataList = new ArrayList<Map<String, Object>>(); for (Object stat : stats) { List<Map<String, Object>> uriStatDataList = WebAppStatUtils.getURIStatDataList(stat); allAppUriStatDataList.addAll(uriStatDataList); } return allAppUriStatDataList; }
druid-servlet 类为:com.alibaba.druid.support.http.ResourceServlet