Authored by zhengwen.ge

IP匹配

... ... @@ -53,10 +53,13 @@ public class UnionServiceImpl implements IUnionService {
static Logger activeUnion = LoggerFactory.getLogger("activeUnion");
static Logger clickUnion = LoggerFactory.getLogger("clickUnion");
static Logger ipMatch = LoggerFactory.getLogger("ipMatch");
private static final String UNION_KEY = "UNION:KEY:";
static Logger log = LoggerFactory.getLogger(UnionServiceImpl.class);
@Resource(name="yhRedisTemplate")
YHRedisTemplate<String, String> yHRedisTemplate;
... ... @@ -284,7 +287,7 @@ public class UnionServiceImpl implements IUnionService {
}
log.info("activateUnion with get redis first with key={}, value={}", key, value);
clickUnion.info("activateUnion with get redis first with key={}, value={}", key, value);
activeUnion.info("activateUnion with get redis first with key={}, value={}", key, value);
if (StringUtils.isNotEmpty(request.getTd())) {
if (StringUtils.isEmpty(value)) {
key = UNION_KEY + "_" + request.getClientIp() + "_" + request.getTd() + "_" + request.getAppkey();
... ... @@ -298,14 +301,14 @@ public class UnionServiceImpl implements IUnionService {
key = UNION_KEY + "_" + request.getClientIp() + "_" + request.getTd() + "_" + request.getAppkey();
value = yhValueOperations.get(key);
log.info("activateUnion with get redis second with key={}, value={}", key, value);
clickUnion.info("activateUnion with get redis second with key={}, value={}", key, value);
activeUnion.info("activateUnion with get redis second with key={}, value={}", key, value);
}
if(arr.length==3){
request.setTd(arr[1]+"_"+arr[2]);
key = UNION_KEY + "_" + request.getClientIp() + "_" + request.getTd() + "_" + request.getAppkey();
value = yhValueOperations.get(key);
log.info("activateUnion with get redis third with key={}, value={}", key, value);
clickUnion.info("activateUnion with get redis third with key={}, value={}", key, value);
activeUnion.info("activateUnion with get redis third with key={}, value={}", key, value);
}
if(arr.length==3){
... ... @@ -323,10 +326,15 @@ public class UnionServiceImpl implements IUnionService {
}else{
key = UNION_KEY + "_" + request.getClientIp() + "_" + request.getAppkey();
value = yhValueOperations.get(key);
if(StringUtils.isNotEmpty(value)){
ipMatch.info("activateUnion with IP params td is {},imei is {},idfa is {},IP is {}",request.getTd(),request.getImei(),request.getIdfa(),request.getClientIp());
return new UnionResponse(204, "user not click");
}
}
log.info("activateUnion with get redis forth with key={}, value={}", key, value);
clickUnion.info("activateUnion with get redis forth with key={}, value={}", key, value);
activeUnion.info("activateUnion with get redis forth with key={}, value={}", key, value);
}
// 如果redis中不存在存在该用户点击信息,则退出
... ... @@ -395,6 +403,7 @@ public class UnionServiceImpl implements IUnionService {
//15天内有记录,退出
log.warn("activateUnion error because 15 days has activate in bigdata database info with param is {}", request);
} else {
//根据mkt_markering
//15天内没有记录,则记录大数据日志,退出
JSONObject j = new JSONObject();
j.put("apptype", request.getClient_type());
... ...
... ... @@ -161,7 +161,21 @@
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger:%line - %msg%n</pattern>
</encoder>
</appender>
<!--IP匹配日志-->
<appender name="IP_MATCH" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${catalina.home}/logs/%d{yyyy-MM-dd}/IP_MATCH.log</fileNamePattern>
<!-- 日志最大的保存天数 -->
<maxHistory>${maxHistory}</maxHistory>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>${maxFileSize}</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger:%line - %msg%n</pattern>
</encoder>
</appender>
<!-- 数据库操作日志 -->
<logger name="java.sql.PreparedStatement" value="DEBUG" />
... ... @@ -215,5 +229,9 @@
<logger name="activeUnion" level="INFO" additivity="false">
<appender-ref ref="ACTIVE_UNION"/>
</logger>
<logger name="ipMatch" level="INFO" additivity="false">
<appender-ref ref="IP_Match"/>
</logger>
</configuration>
\ No newline at end of file
... ...
... ... @@ -191,6 +191,23 @@
</encoder>
</appender>
<appender name="IP_MATCH" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${yoho.logs.basedir}/${yoho.unions.env.namespace}/IP_MATCH.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>${yoho.logs.basedir}/${yoho.unions.env.namespace}/archived/IP_MATCH/IP_MATCH.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 100MB -->
<maxFileSize>${yoho.logs.maxFileSize}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- keep 30 days' worth of history -->
<maxHistory>${yoho.logs.maxHistory}</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger:%line - %msg%n</pattern>
</encoder>
</appender>
<!-- 数据库操作日志 -->
<logger name="java.sql.PreparedStatement" value="${yoho.logs.level}" />
<logger name="java.sql.Connection" value="${yoho.logs.level}" />
... ... @@ -255,4 +272,8 @@
<logger name="activeUnion" level="INFO" additivity="false">
<appender-ref ref="ACTIVE_UNION"/>
</logger>
<logger name="ipMatch" level="INFO" additivity="false">
<appender-ref ref="IP_MATCH"/>
</logger>
</configuration>
\ No newline at end of file
... ...