Logback-01-intro
Logback
Logback 旨在作为流行的log4j项目的后续版本,从而恢复log4j离开的位置。
Logback旨在成为流行的log4j项目的后续版本。它由log4j的创始人CekiGülcü设计。
它建立在设计工业强度测井系统的十年经验之上。
由此产生的产品,即 back,比所有现有的测井系统更快并且占地面积更小,有时候是大幅度的。
同样重要的是,logback提供了其他日...
2018-11-19 00:11:55 |
Log
Logback 10-动态日志级别
业务背景
有时候不同环境需要的日志级别不同,比如测试环境我们可能希望 DEBUG 级别,便于问题的定位。
那么问题来了,如何动态的修改日志级别?
思路
(1)手动修改:本地测试改为 debug,生产时改回来。
这个缺点比较明显,不够方便。
(2)不同的 profile
类似于 springboot 的 profile,指定不同环境的配置。
这个其实也有一定的要求,比如有些配置...
2018-11-19 00:01:55 |
Log
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 + 动态的时间参数 实战笔记
业务背景
如果我每一次调用的参数都是动态的。
select count(*) from users where create_time between #{startTime} and #{endTime}
接下来,让我们一步步的实现。
说明
实战记录一下 mysql 如何整合 apache calcite。
mysql 数据准备
建表语句
use test;
drop ...
2018-11-15 00:38:35 |
Search