日志修改
This commit is contained in:
parent
d8ce26b057
commit
b9debfecd0
@ -3,12 +3,10 @@ package com.zhgd.config;
|
|||||||
import com.baomidou.mybatisplus.annotation.DbType;
|
import com.baomidou.mybatisplus.annotation.DbType;
|
||||||
import com.baomidou.mybatisplus.core.MybatisConfiguration;
|
import com.baomidou.mybatisplus.core.MybatisConfiguration;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
||||||
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
|
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
|
||||||
import com.zhgd.mybatis.DataScopeHandler;
|
import com.zhgd.mybatis.DataScopeHandler;
|
||||||
import com.zhgd.mybatis.DataScopeInterceptor;
|
import com.zhgd.mybatis.DataScopeInterceptor;
|
||||||
import org.apache.ibatis.logging.stdout.StdOutImpl;
|
|
||||||
import org.apache.ibatis.session.SqlSessionFactory;
|
import org.apache.ibatis.session.SqlSessionFactory;
|
||||||
import org.mybatis.spring.SqlSessionTemplate;
|
import org.mybatis.spring.SqlSessionTemplate;
|
||||||
import org.mybatis.spring.annotation.MapperScan;
|
import org.mybatis.spring.annotation.MapperScan;
|
||||||
@ -43,7 +41,7 @@ public class DataSourceOneConfig {
|
|||||||
//开启驼峰
|
//开启驼峰
|
||||||
MybatisConfiguration configuration = new MybatisConfiguration();
|
MybatisConfiguration configuration = new MybatisConfiguration();
|
||||||
configuration.setMapUnderscoreToCamelCase(true);
|
configuration.setMapUnderscoreToCamelCase(true);
|
||||||
configuration.setLogImpl(StdOutImpl.class);
|
configuration.setLogImpl(StdOutImplCustom.class);
|
||||||
bean.setConfiguration(configuration);
|
bean.setConfiguration(configuration);
|
||||||
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:com/zhgd/xmgl/**/*.xml"));
|
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:com/zhgd/xmgl/**/*.xml"));
|
||||||
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
||||||
|
|||||||
@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerIntercept
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor;
|
import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor;
|
||||||
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
|
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
|
||||||
import com.zhgd.xmgl.tenant.TenantHandler;
|
import com.zhgd.xmgl.tenant.TenantHandler;
|
||||||
import org.apache.ibatis.logging.stdout.StdOutImpl;
|
|
||||||
import org.apache.ibatis.session.SqlSessionFactory;
|
import org.apache.ibatis.session.SqlSessionFactory;
|
||||||
import org.mybatis.spring.SqlSessionTemplate;
|
import org.mybatis.spring.SqlSessionTemplate;
|
||||||
import org.mybatis.spring.annotation.MapperScan;
|
import org.mybatis.spring.annotation.MapperScan;
|
||||||
@ -21,7 +20,6 @@ import org.springframework.context.annotation.Primary;
|
|||||||
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
||||||
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@ -43,7 +41,7 @@ public class DataSourceTwoConfig {
|
|||||||
//开启驼峰
|
//开启驼峰
|
||||||
MybatisConfiguration configuration = new MybatisConfiguration();
|
MybatisConfiguration configuration = new MybatisConfiguration();
|
||||||
configuration.setMapUnderscoreToCamelCase(true);
|
configuration.setMapUnderscoreToCamelCase(true);
|
||||||
configuration.setLogImpl(StdOutImpl.class);
|
configuration.setLogImpl(StdOutImplCustom.class);
|
||||||
bean.setConfiguration(configuration);
|
bean.setConfiguration(configuration);
|
||||||
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:com/wflow/**/*.xml"));
|
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:com/wflow/**/*.xml"));
|
||||||
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
||||||
|
|||||||
17
src/main/java/com/zhgd/config/LogPrintFilter.java
Normal file
17
src/main/java/com/zhgd/config/LogPrintFilter.java
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
package com.zhgd.config;
|
||||||
|
|
||||||
|
import ch.qos.logback.classic.spi.ILoggingEvent;
|
||||||
|
import ch.qos.logback.core.filter.Filter;
|
||||||
|
import ch.qos.logback.core.spi.FilterReply;
|
||||||
|
|
||||||
|
public class LogPrintFilter extends Filter<ILoggingEvent> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public FilterReply decide(ILoggingEvent event) {
|
||||||
|
if (StdOutImplCustom.isPrint()) {
|
||||||
|
return FilterReply.ACCEPT;
|
||||||
|
} else {
|
||||||
|
return FilterReply.DENY;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
63
src/main/java/com/zhgd/config/StdOutImplCustom.java
Normal file
63
src/main/java/com/zhgd/config/StdOutImplCustom.java
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
package com.zhgd.config;
|
||||||
|
|
||||||
|
import com.zhgd.xmgl.config.TaskAspect;
|
||||||
|
import com.zhgd.xmgl.constant.Cts;
|
||||||
|
import com.zhgd.xmgl.util.ThreadLocalUtil;
|
||||||
|
import org.apache.ibatis.logging.Log;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
public class StdOutImplCustom implements Log {
|
||||||
|
|
||||||
|
public StdOutImplCustom(String clazz) {
|
||||||
|
// Do Nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Boolean isPrint() {
|
||||||
|
if (!Objects.equals(TaskAspect.onlyPrintInterface, 1)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return Optional.ofNullable(ThreadLocalUtil.getByKey(Cts.IF_FROM_TASK_KEY, Boolean.class)).map(b -> !b).orElse(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isDebugEnabled() {
|
||||||
|
return isPrint();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isTraceEnabled() {
|
||||||
|
return isPrint();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void error(String s, Throwable e) {
|
||||||
|
System.err.println(s);
|
||||||
|
e.printStackTrace(System.err);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void error(String s) {
|
||||||
|
System.err.println(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void debug(String s) {
|
||||||
|
if (isPrint()) {
|
||||||
|
System.out.println(s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void trace(String s) {
|
||||||
|
if (isPrint()) {
|
||||||
|
System.out.println(s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void warn(String s) {
|
||||||
|
System.out.println(s);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -15,7 +15,7 @@ public class LogInterceptor implements HandlerInterceptor {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
||||||
log.info("--------------------------------请求url:{}--------------------------------", request.getRequestURL());
|
log.info("请求url:{}--------------------------------", request.getRequestURL());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -78,7 +78,6 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
import springfox.documentation.annotations.ApiIgnore;
|
import springfox.documentation.annotations.ApiIgnore;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.CompletableFuture;
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@RestController
|
@RestController
|
||||||
@ -524,7 +523,6 @@ public class HikvisionCall {
|
|||||||
|
|
||||||
@Async("getDoorEvents")
|
@Async("getDoorEvents")
|
||||||
public void getDoorEventsAsync(String startTime, String endTime, JSONObject param, String projectSn, List<Project> projects) {
|
public void getDoorEventsAsync(String startTime, String endTime, JSONObject param, String projectSn, List<Project> projects) {
|
||||||
CompletableFuture.runAsync(() -> {
|
|
||||||
for (Project project : projects) {
|
for (Project project : projects) {
|
||||||
List<UfaceDev> ufaceDevs = ufaceDevMapper.selectList(new LambdaQueryWrapper<UfaceDev>()
|
List<UfaceDev> ufaceDevs = ufaceDevMapper.selectList(new LambdaQueryWrapper<UfaceDev>()
|
||||||
.eq(UfaceDev::getProjectSn, project.getProjectSn()));
|
.eq(UfaceDev::getProjectSn, project.getProjectSn()));
|
||||||
@ -600,7 +598,6 @@ public class HikvisionCall {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
log.info("服务挂了主动获取门禁点事件的人员通行记录执行完成,startTime:{},endTime:{}", startTime, endTime);
|
log.info("服务挂了主动获取门禁点事件的人员通行记录执行完成,startTime:{},endTime:{}", startTime, endTime);
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "服务挂了主动获取查询过车记录", notes = "服务挂了主动获取查询过车记录", httpMethod = "POST")
|
@ApiOperation(value = "服务挂了主动获取查询过车记录", notes = "服务挂了主动获取查询过车记录", httpMethod = "POST")
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
package com.zhgd.xmgl.config;
|
package com.zhgd.xmgl.config;
|
||||||
|
|
||||||
|
import com.zhgd.xmgl.constant.Cts;
|
||||||
import com.zhgd.xmgl.util.RequestIdUtil;
|
import com.zhgd.xmgl.util.RequestIdUtil;
|
||||||
|
import com.zhgd.xmgl.util.ThreadLocalUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.aspectj.lang.ProceedingJoinPoint;
|
import org.aspectj.lang.ProceedingJoinPoint;
|
||||||
import org.aspectj.lang.annotation.Around;
|
import org.aspectj.lang.annotation.Around;
|
||||||
@ -8,6 +10,7 @@ import org.aspectj.lang.annotation.Aspect;
|
|||||||
import org.aspectj.lang.annotation.Pointcut;
|
import org.aspectj.lang.annotation.Pointcut;
|
||||||
import org.aspectj.lang.reflect.MethodSignature;
|
import org.aspectj.lang.reflect.MethodSignature;
|
||||||
import org.slf4j.MDC;
|
import org.slf4j.MDC;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@ -18,6 +21,12 @@ import java.util.Map;
|
|||||||
@Component
|
@Component
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class TaskAspect {
|
public class TaskAspect {
|
||||||
|
public static Integer onlyPrintInterface;
|
||||||
|
|
||||||
|
@Value("${onlyPrintInterface:0}")
|
||||||
|
public void setOnlyPrintInterface(Integer onlyPrintInterface) {
|
||||||
|
TaskAspect.onlyPrintInterface = onlyPrintInterface;
|
||||||
|
}
|
||||||
|
|
||||||
@Pointcut("@annotation(org.springframework.scheduling.annotation.Scheduled)")
|
@Pointcut("@annotation(org.springframework.scheduling.annotation.Scheduled)")
|
||||||
public void servicePointcut() {
|
public void servicePointcut() {
|
||||||
@ -36,6 +45,7 @@ public class TaskAspect {
|
|||||||
|
|
||||||
if (null == context) {
|
if (null == context) {
|
||||||
RequestIdUtil.setRequestId("-t"); //主线程没有MDC就自己生成一个
|
RequestIdUtil.setRequestId("-t"); //主线程没有MDC就自己生成一个
|
||||||
|
ThreadLocalUtil.addInKey(Cts.IF_FROM_TASK_KEY, true);
|
||||||
log.info("task方法开始:{}", methodName);
|
log.info("task方法开始:{}", methodName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -60,6 +70,7 @@ public class TaskAspect {
|
|||||||
if (null == context) {
|
if (null == context) {
|
||||||
log.info("task方法结束:{}", methodName);
|
log.info("task方法结束:{}", methodName);
|
||||||
RequestIdUtil.clear();
|
RequestIdUtil.clear();
|
||||||
|
ThreadLocalUtil.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,4 +24,5 @@ public interface Cts {
|
|||||||
String TL_XZ_HIKVISION_COMPARE_DATA_RETRY = "tl_xz_hikvision_compare_data";
|
String TL_XZ_HIKVISION_COMPARE_DATA_RETRY = "tl_xz_hikvision_compare_data";
|
||||||
String TYPE = "type";
|
String TYPE = "type";
|
||||||
String TEAM_ID = "teamId";
|
String TEAM_ID = "teamId";
|
||||||
|
String IF_FROM_TASK_KEY = "ifFromTaskKey";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -168,12 +168,12 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void compareRetryFail() {
|
public void compareRetryFail() {
|
||||||
JSONObject tlJo = ThreadLocalUtil.getByKey(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY);
|
// JSONObject tlJo = ThreadLocalUtil.getByKey(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY);
|
||||||
if (tlJo != null) {
|
// if (tlJo != null) {
|
||||||
XzHikvisionCompareData data = BeanUtil.toBean(tlJo, XzHikvisionCompareData.class);
|
// XzHikvisionCompareData data = BeanUtil.toBean(tlJo, XzHikvisionCompareData.class);
|
||||||
data.setSyncResult(2);
|
// data.setSyncResult(2);
|
||||||
xzHikvisionCompareDataMapper.updateById(data);
|
// xzHikvisionCompareDataMapper.updateById(data);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -181,11 +181,11 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void compareRetrySuc() {
|
public void compareRetrySuc() {
|
||||||
JSONObject tlJo = ThreadLocalUtil.getByKey(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY);
|
// JSONObject tlJo = ThreadLocalUtil.getByKey(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY);
|
||||||
if (tlJo != null) {
|
// if (tlJo != null) {
|
||||||
XzHikvisionCompareData data = BeanUtil.toBean(tlJo, XzHikvisionCompareData.class);
|
// XzHikvisionCompareData data = BeanUtil.toBean(tlJo, XzHikvisionCompareData.class);
|
||||||
xzHikvisionCompareDataMapper.deleteById(data.getId());
|
// xzHikvisionCompareDataMapper.deleteById(data.getId());
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -25,11 +25,11 @@ public class ThreadLocalUtil {
|
|||||||
return get();
|
return get();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static JSONObject getByKey(String key) {
|
public static <T> T getByKey(String key, Class<T> clz) {
|
||||||
if (get() == null) {
|
if (get() == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return get().getJSONObject(key);
|
return (T) get().get(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void add(JSONObject str) {
|
public static void add(JSONObject str) {
|
||||||
|
|||||||
@ -30,7 +30,7 @@ mybatis-plus.configuration.call-setters-on-nulls=true
|
|||||||
spring.jackson.defaultPropertyInclusion=ALWAYS
|
spring.jackson.defaultPropertyInclusion=ALWAYS
|
||||||
# mybatis 配置
|
# mybatis 配置
|
||||||
mybatis-plus.mapper-locations=classpath*:com/zhgd/xmgl/**/*.xml,classpath*:com/zhwl/zw/**/*.xml
|
mybatis-plus.mapper-locations=classpath*:com/zhgd/xmgl/**/*.xml,classpath*:com/zhwl/zw/**/*.xml
|
||||||
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
|
mybatis-plus.configuration.log-impl=com.zhgd.config.StdOutImplCustom
|
||||||
# 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)
|
# 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)
|
||||||
#mybatis-plus.global-config.db-config.logic-delete-field=flag
|
#mybatis-plus.global-config.db-config.logic-delete-field=flag
|
||||||
mybatis-plus.global-config.db-config.logic-delete-value=1
|
mybatis-plus.global-config.db-config.logic-delete-value=1
|
||||||
|
|||||||
@ -6,8 +6,10 @@
|
|||||||
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
|
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
|
||||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||||
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
|
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
|
||||||
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%X{requestId}][%thread] %highlight(%-5level) %method:%L %cyan(%logger{50}) - %highlight(%msg) %n</pattern>
|
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%highlight(%X{requestId})][%thread] %highlight(%-5level) %cyan(%logger{50}).%method:%L - %highlight(%msg) %n</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
|
<filter class="com.zhgd.config.LogPrintFilter">
|
||||||
|
</filter>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
<!-- 时间滚动输出 level为 DEBUG 日志 -->
|
<!-- 时间滚动输出 level为 DEBUG 日志 -->
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user