-
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