xiewenjie 3 years ago
parent
commit
58159f12ba

+ 7 - 0
pom.xml

@@ -27,6 +27,8 @@
         <os.plugin.version>1.5.0.Final</os.plugin.version>
         <protobuf.plugin.version>0.5.0</protobuf.plugin.version>
         <protoc.version>3.3.0</protoc.version>
+        <tlog-all-spring-boot-starter.version>1.3.5</tlog-all-spring-boot-starter.version>
+
     </properties>
     <dependencies>
         <dependency>
@@ -165,6 +167,11 @@
             <artifactId>protobuf-java-format</artifactId>
             <version>1.4</version>
         </dependency>
+        <dependency>
+            <groupId>com.yomahub</groupId>
+            <artifactId>tlog-all-spring-boot-starter</artifactId>
+            <version>${tlog-all-spring-boot-starter.version}</version>
+        </dependency>
     </dependencies>
 
 

+ 1 - 1
src/main/java/com/fdkk/fdkkmeta/domain/entity/mysql/BreakpointsEntity.java

@@ -15,7 +15,7 @@ import java.util.List;
  * @date 2022/5/9
  */
 @Data
-@TableName("breakpoints")
+@TableName(value ="breakpoints", autoResultMap = true)
 public class BreakpointsEntity extends BaseEntity {
     @TableField(value = "position", typeHandler = JacksonTypeHandler.class)
     private PointPO position;

+ 1 - 1
src/main/java/com/fdkk/fdkkmeta/domain/entity/mysql/RotateFrameEntity.java

@@ -13,7 +13,7 @@ import lombok.Data;
  * @date 2022/5/9
  */
 @Data
-@TableName("rotateframe")
+@TableName(value ="rotateframe", autoResultMap = true)
 public class RotateFrameEntity extends BaseEntity {
     private Integer frameIndex;
     private String directory;

+ 1 - 1
src/main/java/com/fdkk/fdkkmeta/domain/entity/mysql/UserEntity.java

@@ -12,7 +12,7 @@ import lombok.Data;
  * @date 2022/5/9
  */
 @Data
-@TableName("user")
+@TableName(value ="user", autoResultMap = true)
 public class UserEntity extends BaseEntity {
     private String nickName;
     private String userId;

+ 11 - 0
src/main/resources/application-dev.yml

@@ -12,6 +12,17 @@ socketio:
 fdkk:
   freespacePath: H:\workfile
   videoFramePath: /mnt/oss/metaverse/scene
+# 日志配置
+logging:
+  level:
+    com.fdkk: debug
+  config: classpath:logback-spring.xml
+  pattern:
+  console: "%d - %msg%n"
+  file:
+    path: /mnt/fdkk_laser/logs
+tlog:
+  enable-invoke-time-print: true
 server:
   port: 9010
   servlet:

+ 168 - 0
src/main/resources/logback-spring.xml

@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="UTF-8"?>
+    <configuration scan="true" scanPeriod="60 seconds" debug="false">
+        <property name="LOG_MAX_HISTORY" value="180"/>
+        <springProperty scope="context" name="LOG_PATH" source="logging.path"/>
+
+        <!-- 控制台输出 -->
+        <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+            <encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
+                <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
+                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
+                <charset>utf-8</charset>
+            </encoder>
+        </appender>
+
+
+        <!-- 按照每天生成日志文件:主项目日志 -->
+        <appender name="file.all" class="ch.qos.logback.core.rolling.RollingFileAppender">
+            <!-- 追加日志到原文件结尾 -->
+            <Prudent>true</Prudent>
+            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                <!--日志文件输出的文件名 -->
+                <FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
+                <MaxHistory>${LOG_MAX_HISTORY}</MaxHistory>
+                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                    <!-- 除按日志记录之外,还配置了日志文件不能超过10M(默认),若超过10M,日志文件会以索引0开始, -->
+                    <maxFileSize>10MB</maxFileSize>
+                </timeBasedFileNamingAndTriggeringPolicy>
+            </rollingPolicy>
+            <encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
+                <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
+                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
+                <charset>utf-8</charset>
+            </encoder>
+        </appender>
+
+        <!--info日志统一输出到这里-->
+        <appender name="file.info" class="ch.qos.logback.core.rolling.RollingFileAppender">
+            <Prudent>true</Prudent>
+            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                <!--日志文件输出的文件名 每小时生成日志文件 -->
+                <FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/info/console-info.%d{yyyy-MM-dd-HH}.%i.sysLog</FileNamePattern>
+                <MaxHistory>${LOG_MAX_HISTORY}</MaxHistory>
+                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                    <!-- 除按日志记录之外,还配置了日志文件不能超过10M(默认),若超过10M,日志文件会以索引0开始, -->
+                    <maxFileSize>10MB</maxFileSize>
+                </timeBasedFileNamingAndTriggeringPolicy>
+            </rollingPolicy>
+            <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+                <!--格式化输出:%d表示日期,%thread表示线程,%-5level:级别从左显示5个字符宽度 %method 方法名  %L 行数 %msg:日志消息,%n是换行符-->
+                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
+                <charset>utf-8</charset>
+            </encoder>
+            <!-- 此日志文件只记录info级别的 -->
+            <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                <level>INFO</level>
+                <onMatch>ACCEPT</onMatch>
+                <onMismatch>DENY</onMismatch>
+            </filter>
+        </appender>
+
+        <!--错误日志统一输出到这里-->
+        <appender name="file.error" class="ch.qos.logback.core.rolling.RollingFileAppender">
+            <Prudent>true</Prudent>
+            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                <!--日志文件输出的文件名-->
+                <FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/error/console-error.%d{yyyy-MM-dd-HH}.%i.sysLog</FileNamePattern>
+                <!--日志文件保留天数-->
+                <MaxHistory>${LOG_MAX_HISTORY}</MaxHistory>
+                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                    <!-- 除按日志记录之外,还配置了日志文件不能超过10M(默认),若超过10M,日志文件会以索引0开始, -->
+                    <maxFileSize>10MB</maxFileSize>
+                </timeBasedFileNamingAndTriggeringPolicy>
+            </rollingPolicy>
+            <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+                <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %method 方法名  %L 行数 %msg:日志消息,%n是换行符-->
+                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
+                <charset>utf-8</charset>
+            </encoder>
+            <!-- 此日志文件只记录error级别的 -->
+            <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                <level>ERROR</level>
+                <onMatch>ACCEPT</onMatch>
+                <onMismatch>DENY</onMismatch>
+            </filter>
+        </appender>
+
+        <!--warn日志统一输出到这里-->
+        <appender name="file.warn" class="ch.qos.logback.core.rolling.RollingFileAppender">
+            <Prudent>true</Prudent>
+            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                <!--日志文件输出的文件名 按小时生成日志-->
+                <FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/warn/console-warn.%d{yyyy-MM-dd-HH}.%i.sysLog</FileNamePattern>
+                <!--日志文件保留天数-->
+                <MaxHistory>${LOG_MAX_HISTORY}</MaxHistory>
+                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                    <!-- 除按日志记录之外,还配置了日志文件不能超过10M(默认),若超过10M,日志文件会以索引0开始, -->
+                    <maxFileSize>10MB</maxFileSize>
+                </timeBasedFileNamingAndTriggeringPolicy>
+            </rollingPolicy>
+            <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+                <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %method 方法名  %L 行数 %msg:日志消息,%n是换行符-->
+                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
+                <charset>utf-8</charset>
+            </encoder>
+            <!-- 此日志文件只记录warn级别的 -->
+            <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                <level>WARN</level>
+                <onMatch>ACCEPT</onMatch>
+                <onMismatch>DENY</onMismatch>
+            </filter>
+        </appender>
+
+        <!--debug级别日志统一输出到这里-->
+        <appender name="file.debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+            <Prudent>true</Prudent>
+            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                <!--日志文件输出的文件名 按小时生成日志-->
+                <FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/debug/console-debug.%d{yyyy-MM-dd-HH}.%i.sysLog</FileNamePattern>
+                <!--日志文件保留天数-->
+                <MaxHistory>${LOG_MAX_HISTORY}</MaxHistory>
+                <!-- 除按日志记录之外,还配置了日志文件不能超过5M,若超过5M,日志文件会以索引0开始,命名日志文件,例如console-debug.2018-08-24-09.1.sysLog -->
+                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                    <maxFileSize>10MB</maxFileSize>
+                </timeBasedFileNamingAndTriggeringPolicy>
+            </rollingPolicy>
+            <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+                <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %method 方法名  %L 行数 %msg:日志消息,%n是换行符-->
+                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
+                <charset>utf-8</charset>
+            </encoder>
+            <!-- 此日志文件只记录debug级别的 -->
+            <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                <level>DEBUG</level>
+                <onMatch>ACCEPT</onMatch>
+                <onMismatch>DENY</onMismatch>
+            </filter>
+        </appender>
+
+        <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
+        <appender name="file.async" class="com.yomahub.tlog.core.enhance.logback.async.AspectLogbackAsyncAppender">
+            <discardingThreshold>0</discardingThreshold>
+            <queueSize>256</queueSize>
+            <includeCallerData>true</includeCallerData>
+            <appender-ref ref="file.all"/>
+        </appender>
+
+        <!--myibatis sysLog configure-->
+        <logger name="com.apache.ibatis" level="DEBUG"/>
+        <logger name="java.sql.Connection" level="DEBUG"/>
+        <logger name="java.sql.Statement" level="DEBUG"/>
+        <logger name="java.sql.PreparedStatement" level="DEBUG"/>
+        <logger name="io.lettuce.core.protocol" level="ERROR">
+            <appender-ref ref="file.warn"/>
+        </logger>
+    <logger name="org.springframework.data.mongodb.core" level="DEBUG"/>
+
+    <!--  日志输出级别 -->
+        <!-- TRACE\DEBUG\INFO\WARN\ERROR\FATAL\OFF -->
+        <root level="INFO">
+            <appender-ref ref="console"/>
+            <appender-ref ref="file.async"/>
+            <appender-ref ref="file.error"/>
+            <appender-ref ref="file.info"/>
+            <appender-ref ref="file.debug"/>
+            <appender-ref ref="file.warn"/>
+        </root>
+
+    </configuration>