2019-07-02 logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
<!-- 业务日志 -->
<appender name="APP_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>data/log/log.%d{yyyy-MM-dd}.log</FileNamePattern>
<!--日志文件保留天数-->
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<!--<encoder class="com.test.query.feign.rewrite.PatternLayoutEncoderReWrite">-->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<!--<pattern>%msg</pattern>-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
<!--日志文件最大的大小-->
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<!-- 只记录sql日志 -->
<appender name="SQL_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>data/log/log.sql@.%d{yyyy-MM-dd}.log</FileNamePattern>
<!--<FileNamePattern>C:/logs/log.@build.finalName@.%d{yyyy-MM-dd}.log</FileNamePattern>-->
<!--日志文件保留天数-->
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<!--<encoder class="com.test.query.feign.rewrite.PatternLayoutEncoderReWrite">-->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<!--<pattern>%msg</pattern>-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
<!--日志文件最大的大小-->
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<logger name="jdbc.sqlonly" level="INFO" additivity="false">
<appender-ref ref="STDOUT"/>
<appender-ref ref="SQL_LOG"/>
</logger>
<logger name="jdbc.resultset" level="ERROR" additivity="false">
<appender-ref ref="STDOUT"/>
<appender-ref ref="SQL_LOG"/>
</logger>
<logger name="jdbc.connection" level="OFF" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>
<logger name="jdbc.sqltiming" level="OFF" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>
<logger name="jdbc.audit" level="OFF" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>
<!--指定业务日志包范围-->
<logger name="com.example" level="INFO" additivity="false">
<appender-ref ref="APP_LOG"/>
<appender-ref ref="STDOUT"/>
</logger>
<logger name="com" level="INFO" additivity="false">
<appender-ref ref="APP_LOG"/>
<appender-ref ref="STDOUT"/>
</logger>
<logger name="org" level="INFO" additivity="false">
<appender-ref ref="APP_LOG"/>
<appender-ref ref="STDOUT"/>
</logger>
<!-- 日志输出级别 -->
<root level="info">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
2019-07-05 p3c-alibaba
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.3</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.5</version>
</plugin>
</plugins>
</reporting>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.8</version>
<configuration>
<sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
<targetJdk>1.8</targetJdk>
<printFailingErrors>true</printFailingErrors>
<rulesets>
<ruleset>rulesets/java/ali-comment.xml</ruleset>
<ruleset>rulesets/java/ali-concurrent.xml</ruleset>
<ruleset>rulesets/java/ali-constant.xml</ruleset>
<ruleset>rulesets/java/ali-exception.xml</ruleset>
<ruleset>rulesets/java/ali-flowcontrol.xml</ruleset>
<ruleset>rulesets/java/ali-naming.xml</ruleset>
<ruleset>rulesets/java/ali-oop.xml</ruleset>
<ruleset>rulesets/java/ali-orm.xml</ruleset>
<ruleset>rulesets/java/ali-other.xml</ruleset>
<ruleset>rulesets/java/ali-set.xml</ruleset>
</rulesets>
</configuration>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.alibaba.p3c</groupId>
<artifactId>p3c-pmd</artifactId>
<version>1.3.5</version>
</dependency>
</dependencies>
</plugin>
2019-07-10 一些知识点
- linux中 ctrl+a 光标到行首 ctrl+e 光标到行尾
- IPv6的地址格式解析
IPv6的地址长度是128位(bit)。
将这128位的地址按每16位划分为一个段,将每个段转换成十六进制数字,并用冒号隔开。
例如:2000:0000:0000:0000:0001:2345:6789:abcd
这个地址很长,可以用两种方法对这个地址进行压缩,
前导零压缩法:将每一段的前导零省略,但是每一段都至少应该有一个数字
例如:2000:0:0:0:1:2345:6789:abcd
双冒号法:如果一个以冒号十六进制数表示法表示的IPv6地址中,如果几个连续的段值都是0,那么这些0可以简记为::。每个地址中只能有一个::。
例如:2000::1:2345:6789:abcd
- ext3文件系统容量计算
block大小(KB) | 单个文件最大 | 分区最大值 |
---|---|---|
1KB | 16GB | 2TB |
2KB | 256GB | 8TB |
4KB | 2TB | 16TB |
- incode为
- ext3文件系统采用32bit的块地址索引空间
- 在inode条目中,引用一个块空间符号需要4byte的大小
- 对于一个inode来说,设计了12个直接指针索引,一个间接指针索引,一个双间接指针索引,以及一个三间接指针索引
- 这些规定都是文件系统自身的程序代码所决定的,也就是说这是开发时就设计好的,没有为什么,只有是什么;对于其它文件系统也是一样;
- 所谓双间接指针索引和三间接指针索引指的是两级结构和三级结构,相当于linux中的根文件系统目录树一样;
- block 与inode 的大小(block 为1, 2, 4K,inode 为128bytes 或256bytes);
计算公式:以block 4k计算
12x4K+1x4K*1024/4KB+(1x4K*1024/4KB)^2+(1x4K*1024/4KB)^3=4TB