个人简介

Echo Blog


江湖无名 安心练剑
  • Logback 配置实战
    logback.xml <?xml version="1.0"?> <configuration> <!-- ch.qos.logback.core.ConsoleAppender 控制台输出 --> <appender name="console" class="ch.qos.logback.core.Conso...
    2018-11-19 00:01:55 | Log
  • TurboFilter
    TurboFilter TurboFilter实现日志级别等内容的动态修改 可能看到这个标题,读者会问:要修改日志的级别,不是直接修改log.xxx就好了吗?为何要搞那么复杂呢? 所以,先说一下场景,为什么要通过TurboFilter去动态的修改日志级别。我们在使用Java开发各种项目的时候必然的会引入很多框架,这些框架通过堆叠的方式完成所要提供的业务服务(一个服务请求在进入后会在这些...
    2018-11-19 00:01:55 | Log
  • Filter
    在logback-classic中 Logback-classic提供两种类型的过滤器,常规过滤器和turbo过滤器。 常规过滤器 常规的logback-classic过滤器扩展了Filter抽象类,它基本上由一个以ILoggingEvent实例作为参数的decision()方法组成。 过滤器按有序列表组织,并基于三元逻辑。每个过滤器的决定(ILoggingEvent事件)方法按顺序...
    2018-11-19 00:01:55 | Log
  • Layout
    什么是布局? 如果你想知道,布局与佛罗里达州的大型庄园无关。 布局是负责将传入事件转换为String的回溯组件。 Layout接口中的format()方法接受一个表示事件(任何类型)的对象并返回一个String。 Layout界面的概要如下所示。 public interface Layout<E> extends ContextAware, LifeCycle { ...
    2018-11-19 00:01:55 | Log
  • Encoder
    Encoder Encoder 是什么 编码器负责将事件转换为字节数组,并将该字节数组写入OutputStream。编码器在logback版本0.9.19中引入。在以前的版本中,大多数appender依靠布局将事件转换为字符串并使用java.io.Writer将其写出来。在以前版本的logback中,用户可以在FileAppender中嵌套PatternLayout。由于logback ...
    2018-11-19 00:01:55 | Log
  • Apache Calcite v1.36.0 整合 mysql 实战笔记
    架构的差异 原生数据源: 引入 apache calcite 之后: 说明 实战记录一下 mysql 如何整合 apache calcite。 mysql 数据准备 建表语句 use test; CREATE TABLE "users" ( "id" int(11) NOT NULL, "username" varchar(255) NOT NULL, "...
    2018-11-15 00:38:35 | Search
  • Apache Calcite v1.36.0 整合 mysql 实战踩坑 按照时间范围查询不到数据?但是 mysql 原生 jdbc 可以正常运行
    现象 使用 apache calicte 整合 mysql 测试,使用日期类型的 between and,发现无法查询到数据。 反复测试了多次,发现确实是 apache calicte 的兼容性问题,记录一下。 mysql 准备 版本 mysql> select @@version; +------------+ | @@version | +------------+ |...
    2018-11-15 00:38:35 | Search
  • Apache Calcite ES 各种 Query 的基本介绍
    说明 我们参考了 org.apache.calcite.adapter.elasticsearch.QueryBuilders 中各种 query 的实现方式。 为了避免有些内容的混淆,这里对这个类中提到的 query 做一个基本的梳理。 chat termQuery 在Elasticsearch中,termQuery是一种用于精确匹配特定词项(term)的查询。 它与其他查询类...
    2018-11-15 00:38:35 | Search