Commit e094b47b authored by kiritoausna's avatar kiritoausna

2022-5.23

parent d05c1fef
......@@ -27,25 +27,25 @@ import java.time.LocalDateTime;
@Data
class ApiError {
private Integer status = 400;
private Integer code = 400;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime timestamp;
private String message;
private String msg;
private ApiError() {
timestamp = LocalDateTime.now();
}
public static ApiError error(String message){
public static ApiError error(String message) {
ApiError apiError = new ApiError();
apiError.setMessage(message);
apiError.setMsg(message);
return apiError;
}
public static ApiError error(Integer status, String message){
public static ApiError error(Integer status, String message) {
ApiError apiError = new ApiError();
apiError.setStatus(status);
apiError.setMessage(message);
apiError.setCode(status);
apiError.setMsg(message);
return apiError;
}
}
......
......@@ -43,9 +43,12 @@ public class GlobalExceptionHandler {
* 处理所有不可知的异常
*/
@ExceptionHandler(Throwable.class)
public ResponseEntity<ApiError> handleException(Throwable e){
public ResponseEntity<ApiError> handleException(Throwable e) {
// 打印堆栈信息
log.error(ThrowableUtil.getStackTrace(e));
if (e.getMessage().contains("账号未激活")) {
return buildResponseEntity(ApiError.error("账号未激活"));
}
return buildResponseEntity(ApiError.error(e.getMessage()));
}
......@@ -53,7 +56,7 @@ public class GlobalExceptionHandler {
* BadCredentialsException
*/
@ExceptionHandler(BadCredentialsException.class)
public ResponseEntity<ApiError> badCredentialsException(BadCredentialsException e){
public ResponseEntity<ApiError> badCredentialsException(BadCredentialsException e) {
// 打印堆栈信息
String message = "坏的凭证".equals(e.getMessage()) ? "用户名或密码不正确" : e.getMessage();
log.error(message);
......@@ -67,7 +70,10 @@ public class GlobalExceptionHandler {
public ResponseEntity<ApiError> badRequestException(BadRequestException e) {
// 打印堆栈信息
log.error(ThrowableUtil.getStackTrace(e));
return buildResponseEntity(ApiError.error(e.getStatus(),e.getMessage()));
if (e.getMessage().contains("账号未激活")) {
return buildResponseEntity(ApiError.error(e.getStatus(), "账号未激活"));
}
return buildResponseEntity(ApiError.error(e.getStatus(), e.getMessage()));
}
/**
......@@ -87,20 +93,20 @@ public class GlobalExceptionHandler {
public ResponseEntity<ApiError> entityNotFoundException(EntityNotFoundException e) {
// 打印堆栈信息
log.error(ThrowableUtil.getStackTrace(e));
return buildResponseEntity(ApiError.error(NOT_FOUND.value(),e.getMessage()));
return buildResponseEntity(ApiError.error(NOT_FOUND.value(), e.getMessage()));
}
/**
* 处理所有接口数据验证异常
*/
@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseEntity<ApiError> handleMethodArgumentNotValidException(MethodArgumentNotValidException e){
public ResponseEntity<ApiError> handleMethodArgumentNotValidException(MethodArgumentNotValidException e) {
// 打印堆栈信息
log.error(ThrowableUtil.getStackTrace(e));
String[] str = Objects.requireNonNull(e.getBindingResult().getAllErrors().get(0).getCodes())[1].split("\\.");
String message = e.getBindingResult().getAllErrors().get(0).getDefaultMessage();
String msg = "不能为空";
if(msg.equals(message)){
if (msg.equals(message)) {
message = str[1] + ":" + message;
}
return buildResponseEntity(ApiError.error(message));
......@@ -110,6 +116,6 @@ public class GlobalExceptionHandler {
* 统一返回
*/
private ResponseEntity<ApiError> buildResponseEntity(ApiError apiError) {
return new ResponseEntity<>(apiError, HttpStatus.valueOf(apiError.getStatus()));
return new ResponseEntity<>(apiError, HttpStatus.valueOf(apiError.getCode()));
}
}
......@@ -46,7 +46,6 @@ public class LogController {
@Log("导出数据")
@ApiOperation("导出数据")
@GetMapping(value = "/download")
@PreAuthorize("@el.check()")
public void exportLog(HttpServletResponse response, LogQueryCriteria criteria) throws IOException {
criteria.setLogType("INFO");
logService.download(logService.queryAll(criteria), response);
......@@ -55,15 +54,15 @@ public class LogController {
@Log("导出错误数据")
@ApiOperation("导出错误数据")
@GetMapping(value = "/error/download")
@PreAuthorize("@el.check()")
public void exportErrorLog(HttpServletResponse response, LogQueryCriteria criteria) throws IOException {
criteria.setLogType("ERROR");
logService.download(logService.queryAll(criteria), response);
}
@GetMapping
@ApiOperation("日志查询")
@PreAuthorize("@el.check()")
public ResponseEntity<Object> queryLog(LogQueryCriteria criteria, Pageable pageable){
String currentUsername = SecurityUtils.getCurrentUsername();
criteria.setUsername(currentUsername);
criteria.setLogType("INFO");
return new ResponseEntity<>(logService.queryAll(criteria,pageable), HttpStatus.OK);
}
......@@ -78,7 +77,6 @@ public class LogController {
@GetMapping(value = "/error")
@ApiOperation("错误日志查询")
@PreAuthorize("@el.check()")
public ResponseEntity<Object> queryErrorLog(LogQueryCriteria criteria, Pageable pageable){
criteria.setLogType("ERROR");
return new ResponseEntity<>(logService.queryAll(criteria,pageable), HttpStatus.OK);
......@@ -86,14 +84,12 @@ public class LogController {
@GetMapping(value = "/error/{id}")
@ApiOperation("日志异常详情查询")
@PreAuthorize("@el.check()")
public ResponseEntity<Object> queryErrorLogDetail(@PathVariable Long id){
return new ResponseEntity<>(logService.findByErrDetail(id), HttpStatus.OK);
}
@DeleteMapping(value = "/del/error")
@Log("删除所有ERROR日志")
@ApiOperation("删除所有ERROR日志")
@PreAuthorize("@el.check()")
public ResponseEntity<Object> delAllErrorLog(){
logService.delAllByError();
return new ResponseEntity<>(HttpStatus.OK);
......@@ -102,7 +98,6 @@ public class LogController {
@DeleteMapping(value = "/del/info")
@Log("删除所有INFO日志")
@ApiOperation("删除所有INFO日志")
@PreAuthorize("@el.check()")
public ResponseEntity<Object> delAllInfoLog(){
logService.delAllByInfo();
return new ResponseEntity<>(HttpStatus.OK);
......
......@@ -32,6 +32,9 @@ public class LogQueryCriteria {
@Query(blurry = "username,description,address,requestIp,method,params")
private String blurry;
/** 操作用户 */
@Query
private String username;
@Query
private String logType;
......
......@@ -81,14 +81,16 @@ public class AbnormalController {
Integer integer2 = Integer.parseInt(stringObjectHashMap.get("2").toString());
Integer integer1 = Integer.parseInt(stringObjectHashMap.get("1").toString());
if (integer4 > 3) {
stringObjectHashMap.put("2", integer3 + 1);
if (integer3 + 1 > 2) {
stringObjectHashMap.put("2", integer2 + 1);
if (integer2 + 1 > 1) {
stringObjectHashMap.put("2", integer1 + 1);
integer3 += 1;
}
if (integer3 > 2) {
integer2 += 1;
}
if (integer2 > 1) {
integer1 += 1;
}
if (integer4 > 0) {
map.put(devicetype, 4);
}
......
......@@ -11,6 +11,7 @@ import me.zhengjie.gemho.entity.tab.Tailpondinfor;
import me.zhengjie.gemho.service.tab.TailpondinforService;
import me.zhengjie.gemho.util.PageResult;
import me.zhengjie.gemho.util.PostOrPutResult;
import me.zhengjie.gemho.util.TailNoForInfoUtil;
import me.zhengjie.gemho.x_datavo.data.DataQueryCriteria;
import me.zhengjie.modules.security.service.OnlineUserService;
import me.zhengjie.utils.SecurityUtils;
......@@ -71,10 +72,10 @@ public class TailpondinforController {
s1 = "0" + s1;
}
}
String replace = tailpondinfor.getSubtailingno().replace("_", "");
String replace = tailpondinfor.getSubtailingno().split("_")[2];
tailpondinfor.setTailingno(replace + s1);
} else {
String replace = tailpondinfor.getSubtailingno().replace("_", "");
String replace = tailpondinfor.getSubtailingno().split("_")[2];
String s = replace + "0001";
tailpondinfor.setTailingno(s);
}
......@@ -215,10 +216,14 @@ public class TailpondinforController {
@ApiOperation(value = "获取当前尾矿库信息")
@GetMapping("dryinfo")
public ResponseEntity<Object> change(HttpServletRequest request) {
String currentUsername = SecurityUtils.getCurrentUsername();
String gettailno = onlineUserService.gettailno(currentUsername, request);
HashMap<String, Object> getzuobiao = tailpondinforService.getzuobiao(gettailno);
public ResponseEntity<Object> dryinfo(HttpServletRequest request) {
String tailInfoNo = TailNoForInfoUtil.getTailInfoNo();
if (tailInfoNo == null) {
HashMap<Object, Object> map = new HashMap<>();
map.put("tailingname", "");
return new ResponseEntity<>(new PageResult().nopagesuccess(map), HttpStatus.OK);
}
HashMap<String, Object> getzuobiao = tailpondinforService.getzuobiao(tailInfoNo);
return new ResponseEntity<>(new PageResult().nopagesuccess(getzuobiao), HttpStatus.OK);
}
}
......
......@@ -44,7 +44,7 @@ public interface TabAbnormalMapper extends BaseMapper<Abnormal> {
"sum(case when alarmlevel =2 then 1 else 0 end )as 'orange',\n" +
"sum(case when alarmlevel =3 then 1 else 0 end )as 'yellow',\n" +
"sum(case when alarmlevel =4 then 1 else 0 end )as 'blue' \n" +
"FROM (SELECT ta.* from tab_abnormal ta join tb_drybeachequipinfor td on ta.equipno = td.equipno where DATE_FORMAT(ta.time,'%y-%m') =DATE_FORMAT(NOW(),'%y-%m') and td.tailingid=#{tailingid}) a right join tb_drybeachequipinfor b on a.equipno= b.equipno GROUP BY b.equipno")
"FROM (SELECT ta.* from tab_abnormal ta join tb_drybeachequipinfor td on ta.equipno = td.equipno where DATE_FORMAT(ta.time,'%y-%m') =DATE_FORMAT(NOW(),'%y-%m') and td.tailingid=#{tailingid}) a right join (select * from tb_drybeachequipinfor where tailingid =#{tailingid}) b on a.equipno= b.equipno GROUP BY b.equipno")
List<HashMap<String, Object>> monthequipno(String tailingid);
......@@ -60,7 +60,7 @@ public interface TabAbnormalMapper extends BaseMapper<Abnormal> {
/**
* 获得指定设备的最新的报警级别
*/
@Select(value = "select alarmlevel from tab_abnormal where equipno=#{equipno} and state =1 ORDER BY time desc LIMIT 1")
@Select(value = "select alarmlevel from tab_abnormal where equipno=#{equipno} and state =1 ORDER BY alarmlevel LIMIT 1")
Integer getalarmlevel(String equipno);
/**
......
......@@ -49,7 +49,7 @@ public interface TailpondinforMapper extends BaseMapper<Tailpondinfor> {
@Select(value = "SELECT * from tb_tailpondinfor ")
List<Tailpondinfor> tailpons();
@Select(value = "select longitude, latitude FROM tb_tailpondinfor where tailingno=#{tailingno}")
@Select(value = "select tailingname FROM tb_tailpondinfor where tailingno=#{tailingno}")
HashMap<String, Object> getzuobiao(String tailingno);
/**
......
package me.zhengjie.gemho.service.artificial.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import me.zhengjie.gemho.entity.artificial.ArtificialData;
import me.zhengjie.gemho.entity.dic.Jczx;
import me.zhengjie.gemho.mapper.artificial.ArtificialDataMapper;
......@@ -12,6 +14,8 @@ import me.zhengjie.gemho.util.ServiceUtil;
import me.zhengjie.gemho.util.TailNoForInfoUtil;
import me.zhengjie.gemho.x_datavo.artificial.ADataVo;
import me.zhengjie.gemho.x_datavo.data.DataQueryCriteria;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -30,8 +34,9 @@ import java.util.List;
* @since 2022-04-26
*/
@Service
@Slf4j
public class ArtificialDataServiceImpl extends ServiceImpl<ArtificialDataMapper, ArtificialData> implements ArtificialDataService {
private static Logger logger = LoggerFactory.getLogger(ArtificialDataService.class);
@Autowired
private ArtificialDataMapper artificialDataMapper;
......@@ -86,6 +91,7 @@ public class ArtificialDataServiceImpl extends ServiceImpl<ArtificialDataMapper,
HashMap<String, Object> map = new HashMap<>();
map.put("list", aDataVos);
map.put("total", total);
logger.info(JSONObject.toJSONString(map));
return map;
}
......
......@@ -115,7 +115,7 @@ public class ArtificialPointServiceImpl extends ServiceImpl<ArtificialPointMappe
return null;
}
artificialPointQueryWrapper.eq("tailingid", tailInfoNo);
List<ArtificialPoint> artificialPoints = artificialPointMapper.selectList(null);
List<ArtificialPoint> artificialPoints = artificialPointMapper.selectList(artificialPointQueryWrapper);
for (ArtificialPoint artificialPoint : artificialPoints) {
PointListVo pointListVo = new PointListVo();
BeanUtils.copyProperties(artificialPoint, pointListVo);
......
......@@ -17,6 +17,7 @@ import me.zhengjie.utils.SecurityUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
......@@ -54,12 +55,17 @@ public class SysSelectServiceImpl extends ServiceImpl<SysSelectMapper, SysSelect
if (tailInfoNo == null) {
return false;
}
List ids = (List) map.get("values");
Object[] objects = ids.toArray();
String idss = StringUtils.join(objects, ",");
Integer areid = (Integer) map.get("mdcode");
QueryWrapper<SysSelect> sysSelectQueryWrapper = new QueryWrapper<>();
sysSelectQueryWrapper.eq("mdcode", areid.toString()).eq("tailno", tailInfoNo);
if (ObjectUtils.isEmpty(ids)) {
int delete = sysSelectMapper.delete(sysSelectQueryWrapper);
return true;
}
Object[] objects = ids.toArray();
String idss = StringUtils.join(objects, ",");
int delete = sysSelectMapper.delete(sysSelectQueryWrapper);
String selsql = "select id,title from sys_summary where id in (" + idss + ")";
List<Map<String, Object>> mapList = sysSummaryMapper.getall(selsql);
......
......@@ -142,7 +142,12 @@ public class JrxDissectServiceImpl extends ServiceImpl<JrxDissectMapper, JrxDiss
@Override
public List<JrxStepsListVo> stepsList() {
List<JrxDissect> jrxSteps = tabJrxDissectMapper.selectList(null);
String tailInfoNo = TailNoForInfoUtil.getTailInfoNo();
QueryWrapper<JrxDissect> jrxDissectQueryWrapper = new QueryWrapper<>();
if (tailInfoNo!=null){
jrxDissectQueryWrapper.eq("pondid",tailInfoNo);
}
List<JrxDissect> jrxSteps = tabJrxDissectMapper.selectList(jrxDissectQueryWrapper);
ArrayList<JrxStepsListVo> jrxStepsListVos = new ArrayList<>();
for (JrxDissect jrxStep : jrxSteps) {
JrxStepsListVo jrxStepsListVo = new JrxStepsListVo().setName(jrxStep.getName()).setValue(jrxStep.getId());
......
......@@ -62,12 +62,17 @@ public class JrxStepsServiceImpl extends ServiceImpl<JrxStepsMapper, JrxSteps> i
param.setPondid(tailInfoNo);
Double height = param.getHeight();
Double width = param.getWidth();
if (height == 0.0) {
if (height != null) {
if (0.0 == height) {
param.setHeight(null);
}
if (width == 0.0) {
}
if (width != null) {
if (0.0 == width) {
param.setWidth(null);
}
}
param.setTime(LocalDateTime.now());
int result = jrxStepsMapper.insert(param);
if (result > 0) {
......
......@@ -19,6 +19,9 @@ public class PostOrPutResult {
public PostOrPutResult noTailFailed() {
return new PostOrPutResult().setMsg("请先添加尾矿库信息").setCode(500);
}
public PostOrPutResult noUserFailed() {
return new PostOrPutResult().setMsg("该用户不存在").setCode(400);
}
public PostOrPutResult deleteFailed() {
return new PostOrPutResult().setMsg("请求失败").setCode(201);
......
......@@ -629,7 +629,7 @@ public class ServiceUtil {
ImgDataVo imgDataVo = new ImgDataVo();
ArrayList<Result> results = new ArrayList<>();
//遍历数据
if (ObjectUtils.isEmpty(data)) {
if (!ObjectUtils.isEmpty(data)) {
for (Object dbDatum : data) {
Date time = null;
HashMap map = new HashMap<String, Object>();
......
......@@ -25,6 +25,7 @@ import me.zhengjie.annotation.rest.AnonymousDeleteMapping;
import me.zhengjie.annotation.rest.AnonymousGetMapping;
import me.zhengjie.annotation.rest.AnonymousPostMapping;
import me.zhengjie.config.RsaProperties;
import me.zhengjie.gemho.util.PostOrPutResult;
import me.zhengjie.modules.security.config.bean.LoginCodeEnum;
import me.zhengjie.modules.security.config.bean.LoginProperties;
import me.zhengjie.modules.security.config.bean.SecurityProperties;
......@@ -32,6 +33,7 @@ import me.zhengjie.modules.security.security.TokenProvider;
import me.zhengjie.modules.security.service.OnlineUserService;
import me.zhengjie.modules.security.service.dto.AuthUserDto;
import me.zhengjie.modules.security.service.dto.JwtUserDto;
import me.zhengjie.modules.system.service.UserService;
import me.zhengjie.utils.RedisUtils;
import me.zhengjie.utils.RsaUtils;
import me.zhengjie.utils.SecurityUtils;
......@@ -69,12 +71,17 @@ public class AuthorizationController {
private final OnlineUserService onlineUserService;
private final TokenProvider tokenProvider;
private final AuthenticationManagerBuilder authenticationManagerBuilder;
private final UserService userService;
@Resource
private LoginProperties loginProperties;
@ApiOperation("登录授权")
@AnonymousPostMapping(value = "/login")
public ResponseEntity<Object> login(@Validated @RequestBody AuthUserDto authUser, HttpServletRequest request) throws Exception {
boolean b = userService.JuUserName(authUser.getUsername());
if (!b) {
return new ResponseEntity<>(new PostOrPutResult().noUserFailed(), HttpStatus.OK);
}
// 密码解密
String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, authUser.getPassword());
// 查询验证码
......@@ -148,4 +155,5 @@ public class AuthorizationController {
onlineUserService.logout(tokenProvider.getToken(request), username);
return new ResponseEntity<>(HttpStatus.OK);
}
}
......@@ -22,6 +22,8 @@ import me.zhengjie.modules.security.config.bean.SecurityProperties;
import me.zhengjie.modules.security.security.TokenProvider;
import me.zhengjie.modules.security.service.dto.JwtUserDto;
import me.zhengjie.modules.security.service.dto.OnlineUserDto;
import me.zhengjie.modules.system.repository.UserRepository;
import me.zhengjie.modules.system.service.UserService;
import me.zhengjie.utils.*;
import org.springframework.data.domain.Pageable;
import org.springframework.scheduling.annotation.Async;
......@@ -254,6 +256,10 @@ public class OnlineUserService {
TokenProvider tokenProvider = SpringContextHolder.getBean(TokenProvider.class);
String token = tokenProvider.getToken(request);
redisUtils.set("wkk" + username, tailingno, (properties.getTokenValidityInSeconds() / 1000) * 2);
//清空 菜单的缓存
UserRepository userRepository = SpringContextHolder.getBean(UserRepository.class);
Long aLong = userRepository.JuUSerName(username);
redisUtils.del("menu::user:" + aLong);
}
/**
......
......@@ -140,4 +140,7 @@ public interface UserRepository extends JpaRepository<User, Long>, JpaSpecificat
@Query(value = "SELECT count(1) FROM sys_user u, sys_users_roles r WHERE " +
"u.user_id = r.user_id AND r.role_id in ?1", nativeQuery = true)
int countByRoles(Set<Long> ids);
@Query(value = "select user_id from sys_user where username=?1", nativeQuery = true)
Long JuUSerName(String username);
}
......@@ -127,4 +127,8 @@ public interface UserService {
* @param resources /
*/
void updateCenter(User resources);
/**
* 判断用户是否存在
*/
boolean JuUserName(String username);
}
......@@ -155,6 +155,15 @@ public class UserServiceImpl implements UserService {
delCaches(user.getId(), user.getUsername());
}
@Override
public boolean JuUserName(String username) {
Long aLong = userRepository.JuUSerName(username);
if (aLong == null) {
return false;
}
return true;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(Set<Long> ids) {
......
......@@ -4,7 +4,7 @@ spring:
druid:
db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mysql://${DB_HOST:8.142.46.126}:${DB_PORT:3306}/${DB_NAME:newpond_intest_dev}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
url: jdbc:log4jdbc:mysql://${DB_HOST:8.142.46.126}:${DB_PORT:3306}/${DB_NAME:intest}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
username: ${DB_USER:root}
password: ${DB_PWD:jinghe2021//}
# 初始连接数
......
......@@ -60,8 +60,15 @@ rsa:
mybatis-plus:
configuration:
cache-enabled: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
map-underscore-to-camel-case: false
# 日志配置
logging:
level:
com.com.baomidou.mybatisplus: debug
org.springframework: warn
org.apache.ibatis.logging: debug
netty:
tcp:
server:
......
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<contextName>logback</contextName>
<!--控制台输出内容的颜色转换以及格式-->
<substitutionProperty name="logging.pattern.console"
value="%contextName- %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %msg%n"/>
<!--日志文件输出内容的格式-->
<substitutionProperty name="logging.pattern.file"
value="%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>
<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"/>
<!--输出到控制台-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!--控制台使用layout节点-->
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
${logging.pattern.console}
</pattern>
</layout>
</appender>
<!--按天生成日志-->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<Prudent>true</Prudent>
<!--滚动策略,我配置了按天生成日志文件-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--相对路径,生成的文件就在项目根目录下-->
<FileNamePattern>
logs/debug/%d{yyyy-MM}/%d{yyyy-MM-dd}.log
</FileNamePattern>
<!--注意超过365天的日志文件会被删除,即使已经按天分开也会删除-->
<MaxHistory>365</MaxHistory>
</rollingPolicy>
<!--日志文件里只保存ERROR及以上级别的日志-->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
<!--文件使用encoder节点-->
<encoder>
<Pattern>
${logging.pattern.file}
</Pattern>
</encoder>
</appender>
<!--按天生成日志-->
<appender name="errorfile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<Prudent>true</Prudent>
<!--滚动策略,我配置了按天生成日志文件-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--相对路径,生成的文件就在项目根目录下-->
<FileNamePattern>
logs/error/%d{yyyy-MM}/%d{yyyy-MM-dd}.log
</FileNamePattern>
<!--注意超过365天的日志文件会被删除,即使已经按天分开也会删除-->
<MaxHistory>365</MaxHistory>
</rollingPolicy>
<!--日志文件里只保存ERROR及以上级别的日志-->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<!--文件使用encoder节点-->
<encoder>
<Pattern>
${logging.pattern.file}
</Pattern>
</encoder>
</appender>
<!--这个logger里的配置相当于之前yml里的logging.level.com.lpc: trace-->
<!--additivity的作用-->
<!--true,则子Logger不止会在自己的appender里输出,还会在root的logger的appender里输出-->
<!--而这个logger里没配置appender,所以得交给root打印-->
<!--所以com.lpc包里的日志从TRACE级别开始-->
<!--其他包里的日志根据root的配置从INFO级别开始打印-->
<logger name="com.lpc" level="DEBUG" additivity="true">
</logger>
<!-- 如想看到表格数据,将OFF改为INFO -->
<logger name="jdbc.resultsettable" level="OFF" additivity="false">
<appender-ref ref="console"/>
</logger>
<logger name="jdbc.connection" level="OFF" additivity="false">
<appender-ref ref="console"/>
</logger>
<logger name="jdbc.sqltiming" level="OFF" additivity="false">
<appender-ref ref="console"/>
</logger>
<logger name="jdbc.audit" level="OFF" additivity="false">
<appender-ref ref="console"/>
</logger>
<logger name="jdbc.resultset" level="OFF" additivity="false">
<appender-ref ref="console"/>
</logger>
<root level="INFO">
<appender-ref ref="console"/>
<appender-ref ref="file"/>
<appender-ref ref="errorfile"/>
</root>
</configuration>
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds" debug="false">
<contextName>elAdmin</contextName>
<property name="log.charset" value="utf-8"/>
<property name="log.pattern"
value="%contextName- %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %msg%n"/>
<property name="log.charset" value="utf-8" />
<property name="log.pattern" value="%contextName- %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %msg%n" />
<!--输出到控制台-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
......@@ -15,32 +14,32 @@
<!--普通日志输出到控制台-->
<root level="info">
<appender-ref ref="console"/>
<appender-ref ref="console" />
</root>
<!--监控sql日志输出,如需监控 Sql 打印,请设置为 INFO -->
<logger name="jdbc.sqlonly" level="ERROR" additivity="false">
<appender-ref ref="console"/>
<appender-ref ref="console" />
</logger>
<logger name="jdbc.resultset" level="ERROR" additivity="false">
<appender-ref ref="console"/>
<appender-ref ref="console" />
</logger>
<!-- 如想看到表格数据,将OFF改为INFO -->
<logger name="jdbc.resultsettable" level="OFF" additivity="false">
<appender-ref ref="console"/>
<appender-ref ref="console" />
</logger>
<logger name="jdbc.connection" level="OFF" additivity="false">
<appender-ref ref="console"/>
<appender-ref ref="console" />
</logger>
<logger name="jdbc.sqltiming" level="OFF" additivity="false">
<appender-ref ref="console"/>
<appender-ref ref="console" />
</logger>
<logger name="jdbc.audit" level="OFF" additivity="false">
<appender-ref ref="console"/>
<appender-ref ref="console" />
</logger>
</configuration>
\ No newline at end of file
......@@ -2,12 +2,29 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="me.zhengjie.gemho.mapper.data.StDataMapper">
<select id="getStageDepth" resultType="me.zhengjie.gemho.x_datavo.tab.visual.JrxDryVo">
SELECT b.*, c.jrx_burial,c.jrx_trepanning,c.jrx_coord_x
from (SELECT CONVERT(a.stage,DECIMAL(10,5))as stage,CONVERT(a.depth,DECIMAL(10,5))as depth, a.sensorid, a.time
from (select * from tb_st_data ORDER BY time DESC) a
GROUP BY a.sensorid) b
join tb_drybeachequipinfor c on b.sensorid = c.equipno
where c.equipno in
SELECT
b.stage,
b.depth,
b.time,
c.jrx_burial,
c.jrx_trepanning,
c.jrx_coord_x,
c.equipno as sensorid
FROM
(
SELECT CONVERT
( a.stage, DECIMAL ( 10, 5 ) ) AS stage,
CONVERT ( a.depth, DECIMAL ( 10, 5 ) ) AS depth,
a.time ,
a.sensorid
FROM
( SELECT * FROM tb_st_data ORDER BY time DESC ) a
GROUP BY
a.sensorid
) b
right JOIN tb_drybeachequipinfor c ON b.sensorid = c.equipno
WHERE
c.equipno IN
<foreach item="item" index="index" collection="sensorids" open="(" separator="," close=")">
#{item}
</foreach>
......
......@@ -19,7 +19,6 @@
case
when DATE_FORMAT(datarealtime, '%Y-%m-%d %H:%m:%s') &gt;=
DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 30 MINUTE), '%Y-%m-%d %H:%m:%s') then 0
when initialstateno = '1' then 0
else 1 end as `state`
FROM `tb_drybeachequipinfor`
where tailingid = #{tailingid}
......@@ -27,7 +26,7 @@
<select id="dryUnCount" resultType="integer">
SELECT COUNT(id) as unloin
FROM tb_drybeachequipinfor
where tailingid = #{tailingid} and initialstateno = '0'
where tailingid = #{tailingid}
and DATE_FORMAT(datarealtime, '%Y-%m-%d %H:%m:%s') &lt;= DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 30 MINUTE), '%Y-%m-%d
%H:%m:%s')
or tailingid = #{tailingid} and initialstateno = '0' and datarealtime is Null
......
This diff is collapsed.
logging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINEDlogging.pattern.file_IS_UNDEFINED
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
2022-05-19 16:03:20.622 [main] ERROR o.s.boot.SpringApplication - Application run failed
java.lang.IllegalStateException: Logback configuration error detected:
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - There is no conversion class registered for conversion word [wEx]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - [wEx] is not a valid conversion word
at org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(LogbackLoggingSystem.java:169)
at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithConventions(AbstractLoggingSystem.java:80)
at org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:60)
at org.springframework.boot.logging.logback.LogbackLoggingSystem.initialize(LogbackLoggingSystem.java:118)
at org.springframework.boot.context.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:313)
at org.springframework.boot.context.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:288)
at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:246)
at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:223)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:76)
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53)
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
at me.zhengjie.AppRun.main(AppRun.java:54)
2022-05-19 16:01:08.586 [main] ERROR o.s.boot.SpringApplication - Application run failed
java.lang.IllegalStateException: Logback configuration error detected:
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - There is no conversion class registered for conversion word [wEx]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - [wEx] is not a valid conversion word
at org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(LogbackLoggingSystem.java:169)
at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithConventions(AbstractLoggingSystem.java:80)
at org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:60)
at org.springframework.boot.logging.logback.LogbackLoggingSystem.initialize(LogbackLoggingSystem.java:118)
at org.springframework.boot.context.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:313)
at org.springframework.boot.context.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:288)
at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:246)
at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:223)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:76)
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53)
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
at me.zhengjie.AppRun.main(AppRun.java:54)
This source diff could not be displayed because it is too large. You can view the blob instead.
2022-05-21 08:21:38.335 ERROR 5036 --- [main] c.b.m.core.MybatisConfiguration : mapper[me.zhengjie.gemho.mapper.tab.DrybeachequipinforMapper.gettailingid] is ignored, because it exists, maybe from xml file
2022-05-21 08:53:12.677 ERROR 7348 --- [main] c.b.m.core.MybatisConfiguration : mapper[me.zhengjie.gemho.mapper.tab.DrybeachequipinforMapper.gettailingid] is ignored, because it exists, maybe from xml file
2022-05-21 09:02:44.657 ERROR 7560 --- [main] c.b.m.core.MybatisConfiguration : mapper[me.zhengjie.gemho.mapper.tab.DrybeachequipinforMapper.gettailingid] is ignored, because it exists, maybe from xml file
This diff is collapsed.
This diff is collapsed.
2022-05-19 16:03:20.622 [main] ERROR o.s.boot.SpringApplication - Application run failed
java.lang.IllegalStateException: Logback configuration error detected:
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - There is no conversion class registered for conversion word [wEx]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@41fe9859 - [wEx] is not a valid conversion word
at org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(LogbackLoggingSystem.java:169)
at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithConventions(AbstractLoggingSystem.java:80)
at org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:60)
at org.springframework.boot.logging.logback.LogbackLoggingSystem.initialize(LogbackLoggingSystem.java:118)
at org.springframework.boot.context.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:313)
at org.springframework.boot.context.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:288)
at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:246)
at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:223)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:76)
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53)
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
at me.zhengjie.AppRun.main(AppRun.java:54)
2022-05-19 16:01:08.586 [main] ERROR o.s.boot.SpringApplication - Application run failed
java.lang.IllegalStateException: Logback configuration error detected:
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - There is no conversion class registered for composite conversion word [clr]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - Failed to create converter for [%clr] keyword
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - There is no conversion class registered for conversion word [wEx]
ERROR in ch.qos.logback.core.pattern.parser.Compiler@25ddbbbb - [wEx] is not a valid conversion word
at org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(LogbackLoggingSystem.java:169)
at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithConventions(AbstractLoggingSystem.java:80)
at org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:60)
at org.springframework.boot.logging.logback.LogbackLoggingSystem.initialize(LogbackLoggingSystem.java:118)
at org.springframework.boot.context.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:313)
at org.springframework.boot.context.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:288)
at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:246)
at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:223)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:76)
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53)
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
at me.zhengjie.AppRun.main(AppRun.java:54)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment