Commit a569dedcec825e69a970ac2dbc7410262dd7365e
1 parent
635f7401
Exists in
master
博冠人脸 日志 优化
Showing
8 changed files
with
165 additions
and
90 deletions
Show diff stats
cloud/lapi/src/main/java/com/sincere/lapi/controller/LapiController.java
... | ... | @@ -5,10 +5,13 @@ import com.sincere.common.dto.smartCampus.SzVSchoolTeacher; |
5 | 5 | import com.sincere.lapi.Utils.FileUtils; |
6 | 6 | import com.sincere.lapi.feign.ScFeign; |
7 | 7 | import com.sincere.lapi.feign.XaFeign; |
8 | +import com.sincere.lapi.logs.LogName; | |
9 | +import com.sincere.lapi.logs.LoggerUtils; | |
8 | 10 | import com.sincere.lapi.pojo.*; |
9 | 11 | import com.sincere.lapi.service.request.TerminalHttpCall; |
10 | 12 | import io.swagger.annotations.ApiOperation; |
11 | 13 | import org.apache.commons.lang3.StringUtils; |
14 | +import org.slf4j.Logger; | |
12 | 15 | import org.springframework.beans.factory.annotation.Autowired; |
13 | 16 | import org.springframework.web.bind.annotation.RequestMapping; |
14 | 17 | import org.springframework.web.bind.annotation.RequestMethod; |
... | ... | @@ -35,6 +38,7 @@ public class LapiController { |
35 | 38 | @Autowired |
36 | 39 | TerminalHttpCall terminalHttpCall = new TerminalHttpCall(); |
37 | 40 | |
41 | + private static final Logger Log_operate = LoggerUtils.Logger(LogName.operate); | |
38 | 42 | /** |
39 | 43 | * 下发整个学校 |
40 | 44 | * @param deviceIds 多个设备用,隔开 |
... | ... | @@ -43,7 +47,7 @@ public class LapiController { |
43 | 47 | */ |
44 | 48 | @RequestMapping(value = "sendFaces", method = RequestMethod.GET) |
45 | 49 | @ApiOperation(value = "下发学校下所有人脸给指定设备", notes = "下发所有人脸给指定设备") |
46 | - public void sendFaces(@RequestParam("deviceIds") String deviceIds, @RequestParam("schoolId") String schoolId, @RequestParam("userType") String userType) { | |
50 | + public boolean sendFaces(@RequestParam("deviceIds") String deviceIds, @RequestParam("schoolId") String schoolId, @RequestParam("userType") String userType) { | |
47 | 51 | String[] deviceList = deviceIds.split(","); |
48 | 52 | if(userType.equals("1")){ |
49 | 53 | List<SzVSchoolTeacher> list = scFeign.selectTeacherBySchoolId(schoolId) ; |
... | ... | @@ -57,6 +61,7 @@ public class LapiController { |
57 | 61 | sendStudentBatch(list,deviceId); |
58 | 62 | } |
59 | 63 | } |
64 | + return false ; | |
60 | 65 | } |
61 | 66 | |
62 | 67 | private List<SzVSchoolTeacher> removeDuplicateCase(List<SzVSchoolTeacher> cases) { |
... | ... | @@ -112,6 +117,7 @@ public class LapiController { |
112 | 117 | } |
113 | 118 | |
114 | 119 | private void sendImg(long personId , String name , String code , String fileUrl , String deviceId , int userType){ |
120 | + Log_operate.info("开始下发人脸----设备号:"+deviceId+"---姓名:"+name+"--fileUrl:"+fileUrl); | |
115 | 121 | PersonInfoList personInfoList = new PersonInfoList(); |
116 | 122 | List<PersonInfo> list1 = new ArrayList<PersonInfo>(); |
117 | 123 | personInfoList.setPersonInfoList(list1); | ... | ... |
cloud/lapi/src/main/java/com/sincere/lapi/logs/LogName.java
0 → 100644
... | ... | @@ -0,0 +1,36 @@ |
1 | +package com.sincere.lapi.logs; | |
2 | + | |
3 | +/** | |
4 | + * @author chen | |
5 | + * @version 1.0 | |
6 | + * @date 2019/10/12 0012 16:18 | |
7 | + */ | |
8 | +public enum LogName { | |
9 | + operate("operate"), | |
10 | + report("report"); | |
11 | + | |
12 | + private String logFileName; | |
13 | + | |
14 | + LogName(String fileName) { | |
15 | + this.logFileName = fileName; | |
16 | + } | |
17 | + | |
18 | + public String getLogFileName() { | |
19 | + return logFileName; | |
20 | + } | |
21 | + | |
22 | + public void setLogFileName(String logFileName) { | |
23 | + this.logFileName = logFileName; | |
24 | + } | |
25 | + | |
26 | + public static LogName getAwardTypeEnum(String value) { | |
27 | + LogName[] arr = values(); | |
28 | + for (LogName item : arr) { | |
29 | + if (null != item && !item.logFileName.equals("")) { | |
30 | + return item; | |
31 | + } | |
32 | + } | |
33 | + return null; | |
34 | + } | |
35 | +} | |
36 | + | ... | ... |
cloud/lapi/src/main/java/com/sincere/lapi/logs/LoggerUtils.java
0 → 100644
... | ... | @@ -0,0 +1,27 @@ |
1 | +package com.sincere.lapi.logs; | |
2 | + | |
3 | +import org.slf4j.Logger; | |
4 | +import org.slf4j.LoggerFactory; | |
5 | + | |
6 | +/** | |
7 | + * @author chen | |
8 | + * @version 1.0 | |
9 | + * @date 2019/10/12 0012 16:19 | |
10 | + */ | |
11 | +public class LoggerUtils { | |
12 | + | |
13 | + public static <T> Logger Logger(Class<T> clazz) { | |
14 | + return LoggerFactory.getLogger(clazz); | |
15 | + } | |
16 | + | |
17 | + /** | |
18 | + * 打印到指定的文件下 | |
19 | + * | |
20 | + * @param desc 日志文件名称 | |
21 | + * @return | |
22 | + */ | |
23 | + public static Logger Logger(LogName desc) { | |
24 | + return LoggerFactory.getLogger(desc.getLogFileName()); | |
25 | + } | |
26 | + | |
27 | +} | ... | ... |
cloud/lapi/src/main/java/com/sincere/lapi/logs/MyTimeBasedFileNamingAndTriggeringPolicy.java
0 → 100644
... | ... | @@ -0,0 +1,32 @@ |
1 | +package com.sincere.lapi.logs; | |
2 | + | |
3 | +import ch.qos.logback.core.joran.spi.NoAutoStart; | |
4 | +import ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy; | |
5 | + | |
6 | +/** | |
7 | + * @author chen | |
8 | + * @version 1.0 | |
9 | + * @date 2019/10/31 0031 13:42 | |
10 | + */ | |
11 | +@NoAutoStart | |
12 | +public class MyTimeBasedFileNamingAndTriggeringPolicy<E> extends DefaultTimeBasedFileNamingAndTriggeringPolicy<E> { | |
13 | + | |
14 | + //这个用来指定时间间隔 | |
15 | + private Integer multiple = 1; | |
16 | + | |
17 | + @Override | |
18 | + protected void computeNextCheck() { | |
19 | + nextCheck = rc.getEndOfNextNthPeriod(dateInCurrentPeriod, multiple).getTime(); | |
20 | + } | |
21 | + | |
22 | + public Integer getMultiple() { | |
23 | + return multiple; | |
24 | + } | |
25 | + | |
26 | + public void setMultiple(Integer multiple) { | |
27 | + if (multiple > 1) { | |
28 | + this.multiple = multiple; | |
29 | + } | |
30 | + } | |
31 | + | |
32 | +} | ... | ... |
cloud/lapi/src/main/java/com/sincere/lapi/server/handler/HttpClientHandler.java
... | ... | @@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSONArray; |
4 | 4 | import com.alibaba.fastjson.JSONObject; |
5 | 5 | import com.sincere.common.util.DateUtils; |
6 | 6 | import com.sincere.lapi.Utils.SpringContextHolder; |
7 | +import com.sincere.lapi.logs.LogName; | |
8 | +import com.sincere.lapi.logs.LoggerUtils; | |
7 | 9 | import com.sincere.lapi.pojo.HeartInfo; |
8 | 10 | import com.sincere.lapi.pojo.LAPI; |
9 | 11 | import com.sincere.lapi.pojo.LAPIResponse; |
... | ... | @@ -29,7 +31,7 @@ import static io.netty.buffer.Unpooled.copiedBuffer; |
29 | 31 | |
30 | 32 | public class HttpClientHandler extends ChannelInboundHandlerAdapter { |
31 | 33 | |
32 | - Logger logger = LoggerFactory.getLogger(HttpClientHandler.class); | |
34 | + private static final Logger Log_report = LoggerUtils.Logger(LogName.report); | |
33 | 35 | |
34 | 36 | @Override |
35 | 37 | public void channelRead(ChannelHandlerContext ctx, Object msg) |
... | ... | @@ -37,7 +39,7 @@ public class HttpClientHandler extends ChannelInboundHandlerAdapter { |
37 | 39 | TerminalHttpCall call = SpringContextHolder.getTerminalHttpCall(); |
38 | 40 | AttendanceService attendanceService = SpringContextHolder.getAttendanceService(); |
39 | 41 | String content = (String) msg; |
40 | - logger.info(content); | |
42 | + Log_report.info(content); | |
41 | 43 | //心跳 更新设备 |
42 | 44 | if (content.contains("/LAPI/V1.0/PACS/Controller/HeartReportInfo")) { |
43 | 45 | HeartInfo heartInfo = JSONObject.parseObject(getJson(content),HeartInfo.class); | ... | ... |
cloud/lapi/src/main/java/com/sincere/lapi/service/request/AttendanceService.java
... | ... | @@ -12,7 +12,10 @@ import com.sincere.common.dto.xiaoan.FaceSendsuccess; |
12 | 12 | import com.sincere.common.util.DateUtils; |
13 | 13 | import com.sincere.lapi.feign.ScFeign; |
14 | 14 | import com.sincere.lapi.feign.XaFeign; |
15 | +import com.sincere.lapi.logs.LogName; | |
16 | +import com.sincere.lapi.logs.LoggerUtils; | |
15 | 17 | import com.sincere.lapi.pojo.LAPIResponse; |
18 | +import org.slf4j.Logger; | |
16 | 19 | import org.springframework.beans.factory.annotation.Autowired; |
17 | 20 | import org.springframework.stereotype.Service; |
18 | 21 | |
... | ... | @@ -23,6 +26,9 @@ import java.util.Map; |
23 | 26 | @Service("attendanceService") |
24 | 27 | public class AttendanceService { |
25 | 28 | |
29 | + | |
30 | + private static final Logger Log_operate = LoggerUtils.Logger(LogName.operate); | |
31 | + | |
26 | 32 | @Autowired |
27 | 33 | ScFeign scFeign ; |
28 | 34 | |
... | ... | @@ -80,6 +86,7 @@ public class AttendanceService { |
80 | 86 | record.setSchoolid(student.getSchoolId()); |
81 | 87 | scFeign.insertTemperature(record); |
82 | 88 | } |
89 | + Log_operate.info("刷脸成功-----设备号:"+deviceCode+"---------"+"name:"+faceRecoder.getName()); | |
83 | 90 | xaFeign.insertRecode(faceRecoder); |
84 | 91 | } |
85 | 92 | |
... | ... | @@ -111,8 +118,10 @@ public class AttendanceService { |
111 | 118 | schoolId = student.getSchoolId(); |
112 | 119 | } |
113 | 120 | if(code == 0){ |
121 | + Log_operate.info("下发成功-----设备号:"+deviceCode+"---------"+"name:"+name); | |
114 | 122 | insertSuccess(deviceCode,personId,num,name,photo,schoolId,userType); |
115 | 123 | }else { |
124 | + Log_operate.info("下发失败-----设备号:"+deviceCode+"---------"+"name:"+name); | |
116 | 125 | insertFail(deviceCode,personId,num,name,photo,schoolId,userType,code,resultCodeMap.get(code)); |
117 | 126 | } |
118 | 127 | }else { | ... | ... |
cloud/lapi/src/main/resources/application.yml
... | ... | @@ -9,7 +9,7 @@ ribbon: |
9 | 9 | eureka: |
10 | 10 | client: |
11 | 11 | serviceUrl: |
12 | - defaultZone: http://127.0.0.1:8761/eureka/,http://127.0.0.1:8762/eureka/ | |
12 | + defaultZone: http://121.40.109.21:8761/eureka/,http://121.40.109.21:8762/eureka/ | |
13 | 13 | registry-fetch-interval-seconds: 5 |
14 | 14 | instance-info-replication-interval-seconds: 10 |
15 | 15 | instance: | ... | ... |
cloud/lapi/src/main/resources/logback.xml
1 | -<?xml version="1.0" encoding="UTF-8"?> | |
2 | -<configuration debug="true"> | |
3 | - <!-- 项目名称 --> | |
4 | - | |
5 | - <property name="PROJECT_NAME" value="bo_guan"/> | |
6 | - | |
7 | - <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--> | |
8 | - <property name="LOG_HOME" value="C://log"/> | |
9 | - | |
10 | - <!-- 控制台输出 --> | |
11 | - | |
12 | - <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> | |
13 | - <!--<withJansi>true</withJansi>--> | |
14 | - | |
15 | - <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> | |
16 | - <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> | |
17 | - | |
18 | - <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %highlight([%-5level] %logger{50} - %msg%n)</pattern> | |
19 | - | |
20 | - <charset>UTF-8</charset> | |
21 | - | |
22 | - </encoder> | |
23 | - | |
1 | +<?xml version="1.0" encoding="utf-8" ?> | |
2 | +<configuration scan="true" scanPeriod="60 seconds" debug="false"> | |
3 | + <!-- 定义日志文件 输入位置 --> | |
4 | + <property name="logPath" value="c:/bg_log" /> | |
5 | + <!-- 日志最大的历史 30天 --> | |
6 | + <property name="maxHistory" value="600"/> | |
7 | + | |
8 | + <!-- 配置项, 通过此节点配置日志输出位置(控制台、文件、数据库)、输出格式等--> | |
9 | + <!-- ConsoleAppender代表输出到控制台 --> | |
10 | + <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> | |
11 | + <!-- layout代表输出格式 --> | |
12 | + <layout class="ch.qos.logback.classic.PatternLayout"> | |
13 | + <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n</pattern> | |
14 | + </layout> | |
24 | 15 | </appender> |
25 | - | |
26 | - <!-- 按照每天生成日志文件 --> | |
27 | - | |
28 | - <appender name="SYSTEM_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> | |
29 | - <!-- 过滤器,只打印ERROR级别的日志 --> | |
30 | - | |
31 | - <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> | |
32 | - <!--日志文件输出的文件名--> | |
33 | - | |
34 | - <FileNamePattern>${LOG_HOME}/${PROJECT_NAME}/%d{yyyy-MM-dd}.%i.log</FileNamePattern> | |
35 | - <!--日志文件保留天数--> | |
36 | - | |
37 | - <MaxHistory>30</MaxHistory> | |
38 | - <!--日志文件最大的大小--> | |
39 | - | |
40 | - <MaxFileSize>100MB</MaxFileSize> | |
41 | - | |
16 | + <!-- 日志输出文件 --> | |
17 | + <appender name="operateLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> | |
18 | + <encoder> | |
19 | + <pattern>%d{yyyy-MM-dd HH:mm:ss} -%msg%n</pattern> | |
20 | + </encoder> | |
21 | + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> | |
22 | + <timeBasedFileNamingAndTriggeringPolicy class="com.sincere.lapi.logs.MyTimeBasedFileNamingAndTriggeringPolicy"> | |
23 | + <multiple>1</multiple> | |
24 | + </timeBasedFileNamingAndTriggeringPolicy> | |
25 | + <!-- 输出路径 --> | |
26 | + <fileNamePattern>${logPath}/info/operate/%d{yyyy-MM-dd HH}.log</fileNamePattern> | |
27 | + <maxHistory>${maxHistory}</maxHistory> | |
42 | 28 | </rollingPolicy> |
43 | - | |
44 | - | |
45 | - <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> | |
46 | - <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> | |
47 | - | |
48 | - <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] [%-5level] %logger{50} - %msg%n</pattern> | |
49 | - | |
50 | - <charset>UTF-8</charset> | |
51 | - | |
29 | + </appender> | |
30 | + <appender name="reportLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> | |
31 | + <encoder> | |
32 | + <pattern>%d{yyyy-MM-dd HH:mm:ss} -%msg%n</pattern> | |
52 | 33 | </encoder> |
53 | - | |
34 | + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> | |
35 | + <timeBasedFileNamingAndTriggeringPolicy class="com.sincere.lapi.logs.MyTimeBasedFileNamingAndTriggeringPolicy"> | |
36 | + <multiple>1</multiple> | |
37 | + </timeBasedFileNamingAndTriggeringPolicy> | |
38 | + <!-- 输出路径 --> | |
39 | + <fileNamePattern>${logPath}/info/report/%d{yyyy-MM-dd HH}.log</fileNamePattern> | |
40 | + <maxHistory>${maxHistory}</maxHistory> | |
41 | + </rollingPolicy> | |
54 | 42 | </appender> |
55 | - | |
56 | - <logger name="system_error" additivity="true"> | |
57 | - | |
58 | - <appender-ref ref="SYSTEM_FILE"/> | |
59 | - | |
60 | - </logger> | |
61 | 43 | |
62 | - <!-- 设置Spring&Hibernate日志输出级别 --> | |
63 | - | |
64 | - <logger name="org.springframework" level="WARN"/> | |
65 | - | |
66 | - <logger name="org.mybatis" level="WARN"/> | |
67 | - | |
68 | - <logger name="com.ibatis" level="DEBUG"/> | |
69 | - | |
70 | - <logger name="com.ibatis.common.jdbc.SimpleDataSource" level="DEBUG"/> | |
71 | - | |
72 | - <logger name="com.ibatis.common.jdbc.ScriptRunner" level="DEBUG"/> | |
73 | - | |
74 | - <logger name="com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" level="DEBUG"/> | |
75 | 44 | |
45 | + <!-- 不同的业务逻辑日志打印到指定文件夹--> | |
46 | + <logger name="operate" additivity="false" level="INFO"> | |
47 | + <appender-ref ref="operateLog"/> | |
48 | + </logger> | |
49 | + <logger name="report" additivity="false" level="INFO"> | |
50 | + <appender-ref ref="reportLog"/> | |
51 | + </logger> | |
76 | 52 | |
77 | - | |
78 | - <logger name="java.sql.Connection" level="DEBUG"/> | |
79 | - | |
80 | - <logger name="java.sql.Statement" level="DEBUG"/> | |
81 | - | |
82 | - <logger name="java.sql.PreparedStatement" level="DEBUG"/> | |
83 | - | |
84 | - <logger name="com.sincere.smartSearch.mapper" level="DEBUG"/> | |
85 | - <!-- 开发环境下的日志配置 --> | |
86 | - | |
87 | - <root level="INFO"> | |
88 | - | |
89 | - <appender-ref ref="CONSOLE"/> | |
90 | - | |
91 | - <appender-ref ref="SYSTEM_FILE"/> | |
92 | - | |
53 | + <root level="info"> | |
54 | + <appender-ref ref="operateLog" /> | |
55 | + <appender-ref ref="reportLog" /> | |
93 | 56 | </root> |
94 | 57 | |
95 | 58 | -</configuration> |
59 | +</configuration> | |
96 | 60 | \ No newline at end of file | ... | ... |