hdc 2 年 前
コミット
20ea589f0c

+ 3 - 1
tongfei_river_data_collection/src/main/java/com/ublinkage/datacollection/Application.java

@@ -4,11 +4,13 @@ import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.system.ApplicationHome;
 
+import java.io.File;
+
 @SpringBootApplication
 public class Application {
     public static void main(String[] args) {
         ApplicationHome home = new ApplicationHome(Application.class);
-        String logPath = home.getDir().getAbsolutePath() + "/logs";
+        String logPath = home.getDir().getAbsolutePath() + File.separator + "log";
         System.setProperty("LOG_PATH", logPath);
         SpringApplication.run(Application.class, args);
     }

+ 11 - 8
tongfei_river_data_collection/src/main/java/com/ublinkage/datacollection/service/QxybDataService.java

@@ -2,7 +2,6 @@ package com.ublinkage.datacollection.service;
 
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.io.FileUtil;
-import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.ublinkage.datacollection.entity.PublishInfo;
 import lombok.extern.slf4j.Slf4j;
@@ -53,9 +52,9 @@ public class QxybDataService {
 
         log.info("###开始下载气象预报数据:{}-{}", startTime, endTime);
         CompletableFuture<Void> all = CompletableFuture.allOf(CompletableFuture.runAsync(() -> {
-            log.info("###开始下载融雪数据:{}-{}", startTime, endTime);
-            this.getDomainSnow(startTime, endTime);
-            log.info("###结束下载融雪数据:{}-{}", startTime, endTime);
+            log.info("###开始下载融雪数据");
+            this.getDomainSnow();
+            log.info("###结束下载融雪数据");
         }).handle((result, ex) -> {
             if (null != ex) {
                 log.error("下载融雪数据异常", ex);
@@ -198,9 +197,8 @@ public class QxybDataService {
     /**
      * 获取融雪数据
      */
-    private void getDomainSnow(String startTime, String endTime) {
+    private void getDomainSnow() {
         //融雪数据从本地获取
-//        String yyyyMMdd = DateUtil.format(new Date(), "yyyyMMdd");
         List<String> cdNewList = new LinkedList<>();
         if (new File(snowCdFile).exists()) {
             List<String> cdlist = readFile(snowCdFile);
@@ -220,7 +218,7 @@ public class QxybDataService {
                 return;
             }
             String yyyyMMdd = DateUtil.parseLocalDateTime(first.split(",")[0], "yyyy-MM-dd").minusDays(1).format(DateTimeFormatter.ofPattern("yyyyMMdd"));
-            FileUtil.writeUtf8Lines(cdNewList, downloadFilePath + "DomainSnow,cd," + yyyyMMdd + "_12_192," + ensemble + "," + System.currentTimeMillis() + ".txt");
+            writeFile(cdNewList, downloadFilePath + "DomainSnow,cd," + yyyyMMdd + "_12_192," + ensemble + "," + System.currentTimeMillis() + ".txt");
         }
         if (new File(snowQzkFile).exists()) {
             List<String> qzkNewList = new LinkedList<>();
@@ -241,7 +239,7 @@ public class QxybDataService {
                 return;
             }
             String yyyyMMdd = DateUtil.parseLocalDateTime(first.split(",")[0], "yyyy-MM-dd").minusDays(1).format(DateTimeFormatter.ofPattern("yyyyMMdd"));
-            FileUtil.writeUtf8Lines(qzkNewList, downloadFilePath + "DomainSnow,qzk," + yyyyMMdd + "_12_192," + ensemble + "," + System.currentTimeMillis() + ".txt");
+            writeFile(qzkNewList, downloadFilePath + "DomainSnow,qzk," + yyyyMMdd + "_12_192," + ensemble + "," + System.currentTimeMillis() + ".txt");
         }
     }
 
@@ -411,6 +409,11 @@ public class QxybDataService {
         return result;
     }
 
+    private File writeFile(List<String> lines, String path){
+        log.info(">> {}", path);
+        return FileUtil.writeUtf8Lines(lines, path);
+    }
+
     private File writeFile(String content, String path) {
         log.info(">> {}", path);
 

+ 34 - 46
tongfei_river_data_collection/src/main/resources/logback-spring.xml

@@ -1,66 +1,54 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<configuration debug="false" scan="false">
-    <property name="log.path" value="${LOG_PATH}"/>
+<configuration scan="true" scanPeriod="60 seconds" debug="false" >
     <!-- Console log output -->
-    <appender name="console" 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] %highlight(%-5level) %cyan(%logger{50}) - %highlight(%msg) %n</pattern>
-        </encoder>
-    </appender>
-
-    <!-- Log file debug output -->
-    <appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${log.path}/debug.log</file>
+    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
+    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
+    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
+    <property name="log.filePath" value="${LOG_PATH}"/>
+    <!-- 0:不限制 -->
+    <property name="log.maxHistory" value="0"/>
+    <property name="appName" value="coll"/>
+    <property name="logPattern" value="${CONSOLE_LOG_PATTERN:-%clr([%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}]){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
+    <appender name="ROLLING_LOG"  class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${log.filePath}${file.separator}${appName}.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <fileNamePattern>${log.path}/%d{yyyy-MM}/debug.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
-            <maxFileSize>50MB</maxFileSize>
-            <maxHistory>30</maxHistory>
+            <FileNamePattern>
+                ${log.filePath}${file.separator}%d{yyyy,aux}${file.separator}%d{yyyy-MM,aux}${file.separator}${appName}_%d{yyyyMMdd}_%i.log
+            </FileNamePattern>
+            <!--日志文件最大的保存历史数量,只有当每天生成且只生成一个文件时才表示保留天数-->
+            <maxHistory>${log.maxHistory}</maxHistory>
+            <maxFileSize>2MB</maxFileSize>
+            <totalSizeCap>10GB</totalSizeCap>
         </rollingPolicy>
         <encoder>
-            <pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
+            <pattern>${logPattern}</pattern>
         </encoder>
     </appender>
-
-    <!-- Log ferrorsrror output -->
-    <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${log.path}/error.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <fileNamePattern>${log.path}/%d{yyyy-MM}/error.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
-            <maxFileSize>50MB</maxFileSize>
-            <maxHistory>30</maxHistory>
-        </rollingPolicy>
+    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
         <encoder>
-            <pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
+            <pattern>${logPattern}</pattern>
         </encoder>
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>ERROR</level>
-        </filter>
     </appender>
-
     <!--开发环境:打印控制台-->
     <springProfile name="dev">
-        <logger name="com.ubilinkage" level="info"/>
-        <logger name="java.sql.Connection" level="debug"/>
-        <logger name="java.sql.Statement" level="debug"/>
-        <logger name="java.sql.PreparedStatement" level="debug"/>
-        <logger name="springfox.documentation.swagger" level="error"/>
-        <logger name="com.baomidou.mybatisplus.core" level="error"/>
+        <root level="info">
+            <appender-ref ref="console"/>
+        </root>
+        <logger name="com.ubilinkage" level="debug"/>
     </springProfile>
 
     <springProfile name="prod">
+        <root level="info">
+            <appender-ref ref="ROLLING_LOG"/>
+        </root>
         <logger name="com.ubilinkage" 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="springfox.documentation.swagger" level="error"/>
-        <logger name="com.baomidou.mybatisplus.core" level="error"/>
     </springProfile>
 
+    <springProfile name="sky">
+        <root level="info">
+            <appender-ref ref="ROLLING_LOG"/>
+        </root>
+        <logger name="com.ubilinkage" level="debug"/>
+    </springProfile>
     <!-- Level: FATAL 0  ERROR 3  WARN 4  INFO 6  DEBUG 7 -->
-    <root level="info">
-        <appender-ref ref="console"/>
-        <appender-ref ref="debug"/>
-        <appender-ref ref="error"/>
-    </root>
 </configuration>