# 1、FileUtils 提供统一的系统临时目录获取方式

2、 替换系统中异常错误打印方式 ,全部依赖改为Slf4j,实现错误信息的堆栈保留
pull/403/head
廖金龙 2020-06-10 16:24:17 +08:00
parent 6d964982d5
commit 694099fc26
12 changed files with 237 additions and 176 deletions

View File

@ -21,6 +21,8 @@ import cn.hutool.poi.excel.BigExcelWriter;
import cn.hutool.poi.excel.ExcelUtil;
import me.zhengjie.exception.BadRequestException;
import org.apache.poi.util.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream;
@ -41,7 +43,20 @@ import java.util.Map;
* @date 2018-12-27
*/
public class FileUtil extends cn.hutool.core.io.FileUtil {
private static final Logger log = LoggerFactory.getLogger(FileUtil.class);
/**
*
* <br>
* windows Linux ,
* windows \\==\
*
* <pre>
* java.io.tmpdir
* windows : C:\Users/xxx\AppData\Local\Temp\
* linux: /temp
* </pre>
*/
public static final String SYS_TEM_DIR = System.getProperty("java.io.tmpdir") + File.separator;
/**
* GB
*/
@ -75,7 +90,7 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
// MultipartFile to File
multipartFile.transferTo(file);
} catch (IOException e) {
e.printStackTrace();
log.error(e.getMessage(), e);
}
return file;
}
@ -130,7 +145,7 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
* inputStream File
*/
static File inputStreamToFile(InputStream ins, String name) throws Exception {
File file = new File(System.getProperty("java.io.tmpdir") + File.separator + name);
File file = new File(SYS_TEM_DIR + name);
if (file.exists()) {
return file;
}
@ -170,7 +185,7 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
file.transferTo(dest);
return dest;
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
}
return null;
}
@ -179,7 +194,7 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
* excel
*/
public static void downloadExcel(List<Map<String, Object>> list, HttpServletResponse response) throws IOException {
String tempPath = System.getProperty("java.io.tmpdir") + IdUtil.fastSimpleUUID() + ".xlsx";
String tempPath = SYS_TEM_DIR + IdUtil.fastSimpleUUID() + ".xlsx";
File file = new File(tempPath);
BigExcelWriter writer = ExcelUtil.getBigWriter(file);
// 一次性写出内容,使用默认样式,强制输出标题
@ -246,10 +261,10 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
try {
System.out.println(in.read(b));
} catch (IOException e) {
e.printStackTrace();
log.error(e.getMessage(), e);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return null;
}
return b;
@ -272,7 +287,7 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
}
return new String(str);
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
}
return null;
}
@ -294,7 +309,7 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
IOUtils.copy(fis, response.getOutputStream());
response.flushBuffer();
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
} finally {
if (fis != null) {
try {
@ -303,7 +318,7 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
file.deleteOnExit();
}
} catch (IOException e) {
e.printStackTrace();
log.error(e.getMessage(), e);
}
}
}

View File

@ -15,12 +15,15 @@
*/
package me.zhengjie.utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.*;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.*;
import java.util.concurrent.TimeUnit;
@ -30,7 +33,7 @@ import java.util.concurrent.TimeUnit;
@Component
@SuppressWarnings({"unchecked", "all"})
public class RedisUtils {
private static final Logger log = LoggerFactory.getLogger(RedisUtils.class);
private RedisTemplate<Object, Object> redisTemplate;
@Value("${jwt.online-key}")
private String onlineKey;
@ -41,6 +44,7 @@ public class RedisUtils {
/**
*
*
* @param key
* @param time ()
*/
@ -50,7 +54,7 @@ public class RedisUtils {
redisTemplate.expire(key, time, TimeUnit.SECONDS);
}
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return false;
}
return true;
@ -58,6 +62,7 @@ public class RedisUtils {
/**
*
*
* @param key
* @param time ()
* @param timeUnit
@ -68,7 +73,7 @@ public class RedisUtils {
redisTemplate.expire(key, time, timeUnit);
}
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return false;
}
return true;
@ -76,6 +81,7 @@ public class RedisUtils {
/**
* key
*
* @param key null
* @return () 0
*/
@ -85,6 +91,7 @@ public class RedisUtils {
/**
* key
*
* @param pattern key
* @return /
*/
@ -100,13 +107,14 @@ public class RedisUtils {
try {
RedisConnectionUtils.releaseConnection(rc, factory);
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
}
return result;
}
/**
* key
*
* @param patternKey key
* @param page
* @param size
@ -137,13 +145,14 @@ public class RedisUtils {
try {
RedisConnectionUtils.releaseConnection(rc, factory);
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
}
return result;
}
/**
* key
*
* @param key
* @return true false
*/
@ -151,13 +160,14 @@ public class RedisUtils {
try {
return redisTemplate.hasKey(key);
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return false;
}
}
/**
*
*
* @param key
*/
public void del(String... keys) {
@ -185,6 +195,7 @@ public class RedisUtils {
/**
*
*
* @param key
* @return
*/
@ -194,6 +205,7 @@ public class RedisUtils {
/**
*
*
* @param keys
* @return
*/
@ -204,6 +216,7 @@ public class RedisUtils {
/**
*
*
* @param key
* @param value
* @return true false
@ -213,13 +226,14 @@ public class RedisUtils {
redisTemplate.opsForValue().set(key, value);
return true;
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return false;
}
}
/**
*
*
* @param key
* @param value
* @param time () time0 time0
@ -234,13 +248,14 @@ public class RedisUtils {
}
return true;
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return false;
}
}
/**
*
*
* @param key
* @param value
* @param time
@ -256,7 +271,7 @@ public class RedisUtils {
}
return true;
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return false;
}
}
@ -265,6 +280,7 @@ public class RedisUtils {
/**
* HashGet
*
* @param key null
* @param item null
* @return
@ -275,6 +291,7 @@ public class RedisUtils {
/**
* hashKey
*
* @param key
* @return
*/
@ -285,6 +302,7 @@ public class RedisUtils {
/**
* HashSet
*
* @param key
* @param map
* @return true false
@ -294,13 +312,14 @@ public class RedisUtils {
redisTemplate.opsForHash().putAll(key, map);
return true;
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return false;
}
}
/**
* HashSet
*
* @param key
* @param map
* @param time ()
@ -314,7 +333,7 @@ public class RedisUtils {
}
return true;
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return false;
}
}
@ -332,7 +351,7 @@ public class RedisUtils {
redisTemplate.opsForHash().put(key, item, value);
return true;
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return false;
}
}
@ -354,7 +373,7 @@ public class RedisUtils {
}
return true;
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return false;
}
}
@ -416,7 +435,7 @@ public class RedisUtils {
try {
return redisTemplate.opsForSet().members(key);
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return null;
}
}
@ -432,7 +451,7 @@ public class RedisUtils {
try {
return redisTemplate.opsForSet().isMember(key, value);
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return false;
}
}
@ -448,13 +467,14 @@ public class RedisUtils {
try {
return redisTemplate.opsForSet().add(key, values);
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return 0;
}
}
/**
* set
*
* @param key
* @param time ()
* @param values
@ -468,13 +488,14 @@ public class RedisUtils {
}
return count;
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return 0;
}
}
/**
* set
*
* @param key
* @return
*/
@ -482,13 +503,14 @@ public class RedisUtils {
try {
return redisTemplate.opsForSet().size(key);
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return 0;
}
}
/**
* value
*
* @param key
* @param values
* @return
@ -498,7 +520,7 @@ public class RedisUtils {
Long count = redisTemplate.opsForSet().remove(key, values);
return count;
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return 0;
}
}
@ -507,6 +529,7 @@ public class RedisUtils {
/**
* list
*
* @param key
* @param start
* @param end 0 -1
@ -516,13 +539,14 @@ public class RedisUtils {
try {
return redisTemplate.opsForList().range(key, start, end);
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return null;
}
}
/**
* list
*
* @param key
* @return
*/
@ -530,13 +554,14 @@ public class RedisUtils {
try {
return redisTemplate.opsForList().size(key);
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return 0;
}
}
/**
* list
*
* @param key
* @param index index>=0 0 1 index<0-1-2
* @return
@ -545,13 +570,14 @@ public class RedisUtils {
try {
return redisTemplate.opsForList().index(key, index);
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return null;
}
}
/**
* list
*
* @param key
* @param value
* @return
@ -561,13 +587,14 @@ public class RedisUtils {
redisTemplate.opsForList().rightPush(key, value);
return true;
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return false;
}
}
/**
* list
*
* @param key
* @param value
* @param time ()
@ -581,13 +608,14 @@ public class RedisUtils {
}
return true;
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return false;
}
}
/**
* list
*
* @param key
* @param value
* @return
@ -597,13 +625,14 @@ public class RedisUtils {
redisTemplate.opsForList().rightPushAll(key, value);
return true;
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return false;
}
}
/**
* list
*
* @param key
* @param value
* @param time ()
@ -617,13 +646,14 @@ public class RedisUtils {
}
return true;
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return false;
}
}
/**
* list
*
* @param key
* @param index
* @param value
@ -634,13 +664,14 @@ public class RedisUtils {
redisTemplate.opsForList().set(key, index, value);
return true;
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return false;
}
}
/**
* Nvalue
*
* @param key
* @param count
* @param value
@ -650,13 +681,12 @@ public class RedisUtils {
try {
return redisTemplate.opsForList().remove(key, count, value);
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
return 0;
}
}
/**
*
* @param prefix
* @param ids id
*/

View File

@ -29,9 +29,12 @@ import me.zhengjie.utils.FileUtil;
import me.zhengjie.utils.GenUtil;
import me.zhengjie.utils.PageUtil;
import me.zhengjie.utils.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
@ -51,7 +54,7 @@ import java.util.stream.Collectors;
@Service
@RequiredArgsConstructor
public class GeneratorServiceImpl implements GeneratorService {
private static final Logger log = LoggerFactory.getLogger(GeneratorServiceImpl.class);
@PersistenceContext
private EntityManager em;
@ -169,7 +172,7 @@ public class GeneratorServiceImpl implements GeneratorService {
try {
GenUtil.generatorCode(columns, genConfig);
} catch (IOException e) {
e.printStackTrace();
log.error(e.getMessage(), e);
throw new BadRequestException("生成失败,请手动处理已生成的文件");
}
}

View File

@ -16,6 +16,8 @@
package me.zhengjie.utils;
import org.apache.commons.configuration.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* sqljava
@ -24,9 +26,11 @@ import org.apache.commons.configuration.*;
* @date 2019-01-03
*/
public class ColUtil {
private static final Logger log = LoggerFactory.getLogger(ColUtil.class);
/**
* mysqljava
*
* @param type
* @return String
*/
@ -43,7 +47,7 @@ public class ColUtil {
try {
return new PropertiesConfiguration("generator.properties");
} catch (ConfigurationException e) {
e.printStackTrace();
log.error(e.getMessage(), e);
}
return null;
}

View File

@ -21,6 +21,7 @@ import lombok.extern.slf4j.Slf4j;
import me.zhengjie.domain.GenConfig;
import me.zhengjie.domain.ColumnInfo;
import org.springframework.util.ObjectUtils;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
@ -28,8 +29,11 @@ import java.io.Writer;
import java.time.LocalDate;
import java.util.*;
import static me.zhengjie.utils.FileUtil.SYS_TEM_DIR;
/**
*
*
* @author Zheng Jie
* @date 2019-01-02
*/
@ -47,6 +51,7 @@ public class GenUtil {
/**
*
*
* @return List
*/
private static List<String> getAdminTemplateNames() {
@ -64,6 +69,7 @@ public class GenUtil {
/**
*
*
* @return List
*/
private static List<String> getFrontTemplateNames() {
@ -101,8 +107,8 @@ public class GenUtil {
public static String download(List<ColumnInfo> columns, GenConfig genConfig) throws IOException {
// 拼接的路径:/tmpeladmin-gen-temp/这个路径在Linux下需要root用户才有权限创建,非root用户会权限错误而失败更改为 /tmp/eladmin-gen-temp/
// String tempPath =System.getProperty("java.io.tmpdir") + "eladmin-gen-temp" + File.separator + genConfig.getTableName() + File.separator;
String tempPath =System.getProperty("java.io.tmpdir") + File.separator + "eladmin-gen-temp" + File.separator + genConfig.getTableName() + File.separator;
// String tempPath =SYS_TEM_DIR + "eladmin-gen-temp" + File.separator + genConfig.getTableName() + File.separator;
String tempPath = SYS_TEM_DIR + "eladmin-gen-temp" + File.separator + genConfig.getTableName() + File.separator;
Map<String, Object> genMap = getGenMap(columns, genConfig);
TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig("template", TemplateConfig.ResourceMode.CLASSPATH));
// 生成后端代码

View File

@ -28,10 +28,13 @@ import me.zhengjie.service.mapstruct.LogSmallMapper;
import me.zhengjie.utils.*;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.reflect.MethodSignature;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.Method;
@ -44,7 +47,7 @@ import java.util.*;
@Service
@RequiredArgsConstructor
public class LogServiceImpl implements LogService {
private static final Logger log = LoggerFactory.getLogger(LogServiceImpl.class);
private final LogRepository logRepository;
private final LogErrorMapper logErrorMapper;
private final LogSmallMapper logSmallMapper;
@ -100,7 +103,7 @@ public class LogServiceImpl implements LogService {
try {
username = new JSONObject(argValues.get(0)).get("username").toString();
} catch (Exception e) {
e.printStackTrace();
LogServiceImpl.log.error(e.getMessage(), e);
}
}
log.setAddress(StringUtils.getCityInfo(log.getRequestIp()));

View File

@ -187,7 +187,7 @@ public class DeployServiceImpl implements DeployService {
try {
Thread.sleep(second * 1000);
} catch (InterruptedException e) {
e.printStackTrace();
log.error(e.getMessage(),e);
}
}
@ -237,7 +237,7 @@ public class DeployServiceImpl implements DeployService {
try {
WebSocketServer.sendInfo(new SocketMsg(msg, msgType), "deploy");
} catch (IOException e) {
e.printStackTrace();
log.error(e.getMessage(),e);
}
}

View File

@ -45,7 +45,7 @@ public class ExecuteShellUtil {
session.setConfig("StrictHostKeyChecking", "no");
session.connect(3000);
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(),e);
}
}
@ -71,7 +71,7 @@ public class ExecuteShellUtil {
System.out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(),e);
return -1;
}finally {
IoUtil.close(printWriter);

View File

@ -135,7 +135,7 @@ public class SqlUtils {
try {
connection.close();
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(),e);
log.error("connection close error" + e.getMessage());
}
}
@ -147,7 +147,7 @@ public class SqlUtils {
try {
rs.close();
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(),e);
}
}
}

View File

@ -83,7 +83,7 @@ public class WebSocketServer {
try {
item.sendMessage(message);
} catch (IOException e) {
e.printStackTrace();
log.error(e.getMessage(),e);
}
}
}

View File

@ -58,7 +58,7 @@ public class OnlineUserService {
try {
onlineUserDto = new OnlineUserDto(jwtUserDto.getUsername(), jwtUserDto.getUser().getNickName(), dept, browser , ip, address, EncryptUtils.desEncrypt(token), new Date());
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(),e);
}
redisUtils.set(properties.getOnlineKey() + token, onlineUserDto, properties.getTokenValidityInSeconds()/1000);
}

View File

@ -6,7 +6,7 @@ spring:
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mysql://localhost:3306/eladmin?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
username: root
password: 123456
password: 59421
# 初始连接数
initial-size: 5
# 最小连接数