Commit 1187686a authored by 宋新宇's avatar 宋新宇

日志及修改

parent 8dbe7136
......@@ -24,13 +24,19 @@ import java.util.*;
public class Main {
private static final Logger DYSTORY_SYS_LOG = LoggerFactory.getLogger("dystory.sys");
private static final Logger DYSTORY_ERROR_LOG = LoggerFactory.getLogger("dystory.error");
private static final Logger NOVEL_SYS_LOG = LoggerFactory.getLogger("novel.sys");
private static final Logger NOVEL_ERROR_LOG = LoggerFactory.getLogger("novel.error");
@PostConstruct
public void plog(){
//只输出到 /data/marketing/logs/dystory_sys.log
DYSTORY_SYS_LOG.info("Closing reporter org.apache.kafka.common.metrics.JmxReporter ");
DYSTORY_SYS_LOG.info("DyStory Closing reporter org.apache.kafka.common.metrics.JmxReporter ");
//只输出到 /data/marketing/logs/dystory_error.log
DYSTORY_ERROR_LOG.info("Exception.......");
DYSTORY_ERROR_LOG.error("DyStory Exception.......");
//只输出到 /data/marketing/logs/novel_sys.log
NOVEL_SYS_LOG.info("Novel Closing reporter org.apache.kafka.common.metrics.JmxReporter ");
//只输出到 /data/marketing/logs/novel_error.log
NOVEL_ERROR_LOG.error("Novel Exception.......");
//输出控制台全部内容
log.info("INFO.........INFO........INFO..");
}
......
......@@ -6,6 +6,8 @@ import com.lwby.marketing.vo.StoryNovelAction;
import com.lwby.marketing.vo.StoreUserUploadEventBO;
import lombok.extern.slf4j.Slf4j;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.kafka.listener.MessageListener;
import org.springframework.stereotype.Component;
......@@ -23,27 +25,28 @@ public class DyStoryActiveConsumer implements MessageListener<String, String> {
@Resource
DyStoryFlowExecutor dyStoryFlowExecutor;
private static final Logger DYSTORY_SYS_LOG = LoggerFactory.getLogger("dystory.sys");
private static final Logger DYSTORY_ERROR_LOG = LoggerFactory.getLogger("dystory.error");
@KafkaListener(topics = {"${system.consumer.dystory.active.topic}"},groupId = "${system.consumer.dystory.active.topic}")
@Override
public void onMessage(ConsumerRecord<String, String> data) {
long begin = System.currentTimeMillis();
if (log.isInfoEnabled()) {
log.info("media.active.story.onMessage start, data={}", data == null ? null : data.value());
}
DYSTORY_SYS_LOG.info("media.active.story.onMessage start, data={}", data == null ? null : data.value());
if (data != null) {
try {
StoreUserUploadEventBO event = JSONObject.parseObject(data.value(), StoreUserUploadEventBO.class);
if (log.isInfoEnabled()) {
log.info("media.active.story.topic={}, bookStoreEvent={}", data.topic(), JSON.toJSONString(event));
}
DYSTORY_SYS_LOG.info("media.active.story.topic={}, bookStoreEvent={}", data.topic(), JSON.toJSONString(event));
StoryNovelAction action = new StoryNovelAction(event.getClientInfo(),event.getUserId(),event.getOpenId(),event.getUserUploadEvent());
dyStoryFlowExecutor.getExecutorByStory().execute(action);
} catch (Throwable e) {
log.error("story.novel.active.onMessage failed, data={}, costTime={} ms", data.value(),
DYSTORY_ERROR_LOG.error("story.novel.active.onMessage failed, data={}, costTime={} ms", data.value(),
System.currentTimeMillis() - begin, e);
}
}
......
......@@ -6,6 +6,8 @@ import com.lwby.marketing.vo.StoryNovelAction;
import com.lwby.marketing.vo.StoreUserUploadEventBO;
import lombok.extern.slf4j.Slf4j;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.kafka.listener.MessageListener;
import org.springframework.stereotype.Component;
......@@ -24,27 +26,28 @@ public class DyStoryPayConsumer extends DyStoryFlowExecutor implements MessageLi
@Resource
DyStoryFlowExecutor dyStoryFlowExecutor;
private static final Logger DYSTORY_SYS_LOG = LoggerFactory.getLogger("dystory.sys");
private static final Logger DYSTORY_ERROR_LOG = LoggerFactory.getLogger("dystory.error");
@KafkaListener(topics = {"${system.consumer.dystory.pay.topic}"},groupId = "${system.consumer.dystory.pay.group_id}")
@Override
public void onMessage(ConsumerRecord<String, String> data) {
long begin = System.currentTimeMillis();
if (log.isInfoEnabled()) {
log.info("media.pay.story.onMessage start, data={}", data == null ? null : data.value());
}
DYSTORY_SYS_LOG.info("media.pay.story.onMessage start, data={}", data == null ? null : data.value());
if (data != null) {
try {
StoreUserUploadEventBO event = JSONObject.parseObject(data.value(), StoreUserUploadEventBO.class);
if (log.isInfoEnabled()) {
log.info("media.pay.story.topic={}, bookStoreEvent={}", data.topic(), JSON.toJSONString(event));
}
DYSTORY_SYS_LOG.info("media.pay.story.topic={}, bookStoreEvent={}", data.topic(), JSON.toJSONString(event));
StoryNovelAction action = new StoryNovelAction(event.getClientInfo(),event.getUserId(),event.getOpenId(),event.getUserUploadEvent(),event.getProductId());
dyStoryFlowExecutor.getExecutorByStory().execute(action);
} catch (Throwable e) {
log.error("story.novel.pay.onMessage failed, data={}, costTime={} ms", data.value(),
DYSTORY_ERROR_LOG.error("story.novel.pay.onMessage failed, data={}, costTime={} ms", data.value(),
System.currentTimeMillis() - begin, e);
}
}
......
......@@ -10,6 +10,8 @@ import com.lwby.marketing.att.novel.AttributionType;
import com.lwby.marketing.vo.DeliveryDeviceInfo;
import com.lwby.marketing.vo.StoryNovelAction;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.kafka.support.SendResult;
import org.springframework.stereotype.Component;
......@@ -20,6 +22,8 @@ import java.util.Objects;
@Component
public class DyStoryUniversalProcess extends UniversalProcess {
private static final Logger DYSTORY_SYS_LOG = LoggerFactory.getLogger("dystory.sys");
private static final Logger DYSTORY_ERROR_LOG = LoggerFactory.getLogger("dystory.error");
/**
* 通知处理结果
*/
......@@ -46,8 +50,8 @@ public class DyStoryUniversalProcess extends UniversalProcess {
String jsonString = JSONObject.toJSONString(ddi);
ListenableFuture<SendResult<String, String>> active_result = kafkaTemplate.send(topic, jsonString);
active_result.addCallback(
result -> log.info("归因成功[{}],归因类型[{}]", jsonString, status.desc),
ex -> log.error("归因失败[{}],归因类型[{}]", jsonString, status.desc, ex)
result -> DYSTORY_SYS_LOG.info("归因成功[{}],归因类型[{}]", jsonString, status.desc),
ex -> DYSTORY_ERROR_LOG.error("归因失败[{}],归因类型[{}]", jsonString, status.desc, ex)
);
}
......
......@@ -8,6 +8,8 @@ import com.lwby.marketing.flow.NodeSwitchFlow;
import com.lwby.marketing.vo.StoryNovelAction;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
......@@ -24,6 +26,8 @@ import java.util.concurrent.ThreadLocalRandom;
@Component("dystory_payspdu")
public class PaySpduFlow extends NodeSwitchFlow<StoryNovelAction> {
private static final Logger DYSTORY_SYS_LOG = LoggerFactory.getLogger("dystory.sys");
@Resource
DyStoryUniversalProcess up;
......@@ -39,7 +43,7 @@ public class PaySpduFlow extends NodeSwitchFlow<StoryNovelAction> {
String shaveMakeCall = up.getAttributeRuleByPlatformIdAndChannelId(platformId,channelId);
if (StringUtils.isEmpty(shaveMakeCall)) {
//直接回传,走回传流
log.info("PaySpduFlow process0 attribute is null,platformId={},channelId={}",action.getPlatformId(),action.getChannelId());
DYSTORY_SYS_LOG.info("PaySpduFlow process0 attribute is null,platformId={},channelId={}",action.getPlatformId(),action.getChannelId());
return;
}
/**
......@@ -67,7 +71,7 @@ public class PaySpduFlow extends NodeSwitchFlow<StoryNovelAction> {
}
if (sprDedu == 100) {
log.info("PaySpduFlow process0 attribute.sprDeduChannel 100,platformId={},channelId={}",action.getPlatformId(),action.getChannelId());
DYSTORY_SYS_LOG.info("PaySpduFlow process0 attribute.sprDeduChannel 100,platformId={},channelId={}",action.getPlatformId(),action.getChannelId());
return;
}
......@@ -81,16 +85,16 @@ public class PaySpduFlow extends NodeSwitchFlow<StoryNovelAction> {
up.incrby(channelTotal, 1);
if (isCallback(channelTotalCount, channelCallbackCount, sprDedu)) {
if (isCallback(channelTotalCount, channelCallbackCount, sprDedu)) {
//回传,回传个数 + 1
up.incrby(channelCallback, 1);
log.info(
DYSTORY_SYS_LOG.info(
"PaySpduFlow.process0.deduction doing dynamic, platformId = {}, channel = {}, sprDedu = {}, goodId = {}, channelTotalCount = {}, channelCallbackCount = {}, v = {}",
platformId, channelId, sprDedu, goodId, channelTotalCount, channelCallbackCount, 1);
} else {
up.notifyResult(action,"ocpc_pay", AttributionStatus.NORMAL_DEDUCTION_CALLBACK);
up.set(up.getFirstCheckerKey(action),60 * 60 * 24,"1");
log.info(
DYSTORY_SYS_LOG.info(
"PaySpduFlow.process0.deduction doing dynamic, platformId = {}, channel = {}, sprDedu = {}, goodId = {}, channelTotalCount = {}, channelCallbackCount = {}, v = {}",
platformId, channelId, sprDedu, goodId, channelTotalCount, channelCallbackCount, 0);
}
......
......@@ -7,6 +7,8 @@ import com.lwby.marketing.vo.BookStoreEvent;
import com.lwby.marketing.vo.NovelAction;
import lombok.extern.slf4j.Slf4j;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.kafka.listener.MessageListener;
......@@ -28,6 +30,10 @@ public class NovelActiveConsumer implements MessageListener<String, String> {
FlowExecutor<NovelAction> executorNovel;
private static final Logger NOVEL_SYS_LOG = LoggerFactory.getLogger("novel.sys");
private static final Logger NOVEL_ERROR_LOG = LoggerFactory.getLogger("novel.error");
@PostConstruct
public void init(){
executorNovel = new FlowExecutor<>(ctx, Rule.create().THEN("novel_setup").THEN("novel_prize").THEN("novel_store").THEN("novel_checkerfirst").SWITCH("novel_cross","novel_plan","novel_channel"));
......@@ -38,21 +44,18 @@ public class NovelActiveConsumer implements MessageListener<String, String> {
public void onMessage(ConsumerRecord<String, String> data) {
//long begin = System.currentTimeMillis();
//if (log.isInfoEnabled()) {
// log.info("media.active.onMessage start, data={}", data == null ? null : data.value());
//}
//NOVEL_SYS_LOG.info("media.active.onMessage start, data={}", data == null ? null : data.value());
//if (data != null) {
// try {
// BookStoreEvent event = JSON.parseObject(data.value(), BookStoreEvent.class);
// if (log.isInfoEnabled()) {
// log.info("media.active.topic={}, bookStoreEvent={}", data.topic(), JSON.toJSONString(event));
// }
// NOVEL_SYS_LOG.info("media.active.topic={}, bookStoreEvent={}", data.topic(), JSON.toJSONString(event));
//
// NovelAction action = new NovelAction(event.getClientInfo(), data.value());
//
// executorNovel.execute(action);
// } catch (Throwable e) {
// log.error("novel.active.onMessage failed, data={}, costTime={} ms", data.value(),
// NOVEL_ERROR_LOG.info("novel.active.onMessage failed, data={}, costTime={} ms", data.value(),
// System.currentTimeMillis() - begin, e);
// }
//}
......
......@@ -6,6 +6,8 @@ import com.lwby.marketing.att.UniversalProcess;
import com.lwby.marketing.vo.NovelAction;
import com.lwby.marketing.vo.DeliveryDeviceInfo;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.kafka.support.SendResult;
import org.springframework.stereotype.Component;
import org.springframework.util.concurrent.ListenableFuture;
......@@ -15,7 +17,9 @@ import java.util.Objects;
@Slf4j
@Component
public class NovelUniversalProcess extends UniversalProcess {
public static final String PRIZE_FLOW_PREFIX = "c:ouser:";
public static final String PRIZE_FLOW_PREFIX = "c:ouser:";
private static final Logger NOVEL_SYS_LOG = LoggerFactory.getLogger("novel.sys");
private static final Logger NOVEL_ERROR_LOG = LoggerFactory.getLogger("novel.error");
/**
* 通知处理结果
......@@ -45,8 +49,8 @@ public class NovelUniversalProcess extends UniversalProcess {
String jsonString = JSONObject.toJSONString(ddi);
ListenableFuture<SendResult<String, String>> active_result = kafkaTemplate.send("ocpc_result", jsonString);
active_result.addCallback(
result -> log.info("归因成功[{}],归因类型[{}]", jsonString, status.desc),
ex -> log.error("归因失败[{}],归因类型[{}]", jsonString, status.desc, ex)
result -> NOVEL_SYS_LOG.info("归因成功[{}],归因类型[{}]", jsonString, status.desc),
ex -> NOVEL_ERROR_LOG.error("归因失败[{}],归因类型[{}]", jsonString, status.desc, ex)
);
}
......
......@@ -6,6 +6,8 @@ import com.lwby.marketing.att.novel.NovelUniversalProcess;
import com.lwby.marketing.flow.NodeSwitchFlow;
import com.lwby.marketing.util.DateTimUtils;
import com.lwby.marketing.vo.NovelAction;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
......@@ -24,6 +26,8 @@ public class ChannelAttributionFlow extends NodeSwitchFlow<NovelAction> {
@Resource
NovelUniversalProcess up;
private static final Logger NOVEL_SYS_LOG = LoggerFactory.getLogger("novel.sys");
@Override
public boolean checked(NovelAction action) {
return true;
......@@ -47,6 +51,7 @@ public class ChannelAttributionFlow extends NodeSwitchFlow<NovelAction> {
action.getMedia().notify(action);
up.notifyResult(action, AttributionStatus.ACTIVE_CALLBACK);
up.set(up.getFirstCheckerKey(action),60 * 60 * 24,"1");
NOVEL_SYS_LOG.info("ChannelAttributionFlow process0 sprDeduChannel 100,platformId={},channelId={}",action.getPlatformId(),action.getChannelId());
return;
}
......@@ -71,8 +76,14 @@ public class ChannelAttributionFlow extends NodeSwitchFlow<NovelAction> {
up.incrby(channelCallback, 1);
action.getMedia().notify(action);
up.notifyResult(action, AttributionStatus.ACTIVE_CALLBACK);
NOVEL_SYS_LOG.info(
"ChannelAttributionFlow.process0.deduction doing dynamic, platformId = {}, channel = {}, planId={}, sprDedu = {}, channelTotalCount = {}, channelCallbackCount = {}, v = {}",
action.getPlatformId(), action.getChannelId(),action.getPlanId(), sprDedu, channelTotalCount, channelCallbackCount, 1);
} else {
up.notifyResult(action, AttributionStatus.NORMAL_DEDUCTION_CALLBACK);
NOVEL_SYS_LOG.info(
"ChannelAttributionFlow.process0.deduction doing dynamic, platformId = {}, channel = {}, planId={}, sprDedu = {}, channelTotalCount = {}, channelCallbackCount = {}, v = {}",
action.getPlatformId(), action.getChannelId(),action.getPlanId(), sprDedu, channelTotalCount, channelCallbackCount, 1);
}
}
up.set(up.getFirstCheckerKey(action),60 * 60 * 24,"1");
......@@ -97,6 +108,8 @@ public class ChannelAttributionFlow extends NodeSwitchFlow<NovelAction> {
* @return
*/
public boolean isAliveByDay(long userId, int day){
return marketingJdbcTemplate.queryForMap(String.format("select 1 from lwby_marketing_growth.alive_olduser where user_id ='%d' and last_alive_date >= CURDATE() - INTERVAL %d DAY",userId,day)).size() > 0;
return (Long) marketingJdbcTemplate.queryForMap(String.format(
"select count(1) c from alive_olduser where user_id ='%d' and last_alive_date >= CURDATE() - INTERVAL %d DAY", userId,
day)).get("c") > 0;
}
}
\ No newline at end of file
......@@ -11,6 +11,8 @@ import com.lwby.marketing.po.CrossCallback;
import com.lwby.marketing.util.DateTimUtils;
import com.lwby.marketing.vo.NovelAction;
import com.lwby.marketing.vo.CrossPlatformAccount;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
......@@ -30,6 +32,8 @@ public class CrossPlatformAttributionFlow extends NodeSwitchFlow<NovelAction> {
@Resource
NovelUniversalProcess up;
private static final Logger NOVEL_SYS_LOG = LoggerFactory.getLogger("novel.sys");
@Override
public boolean checked(NovelAction action) {
//获取跨平台帐号配置
......@@ -37,6 +41,8 @@ public class CrossPlatformAttributionFlow extends NodeSwitchFlow<NovelAction> {
//判断是否配置跨平台归因,如果没有则继续执行下一个计划归因处理器
if(Objects.isNull(cpa) || (!cpa.getAccount().contains("0") && !cpa.getAccount().contains(action.getAdvertiserId()))
|| (cpa.getOldAccount().contains("0") || cpa.getOldAccount().contains(action.getAdvertiserId()))){
NOVEL_SYS_LOG.info("CrossPlatformAttributionFlow checked false,platformId={},advertiserId={},media={},deviceId={},channelId={}",action.getPlatformId()
,action.getAdvertiserId(),action.getMediaName(),action.getDeviceId(),action.getChannelId());
return false;
}
action.setCpa(cpa);
......@@ -53,6 +59,7 @@ public class CrossPlatformAttributionFlow extends NodeSwitchFlow<NovelAction> {
action.getMedia().notify(action);
up.notifyResult(action, AttributionStatus.ACTIVE_CALLBACK);
up.set(up.getFirstCheckerKey(action),60 * 60 * 24,"1"); //每天扣量过一次,不在重复走
NOVEL_SYS_LOG.info("CrossPlatformAttributionFlow process0 sprDeduChannel 100,platformId={},channelId={}",action.getPlatformId(),action.getChannelId());
return;
}
......@@ -70,8 +77,14 @@ public class CrossPlatformAttributionFlow extends NodeSwitchFlow<NovelAction> {
//callbackService.registerCallback(action);
action.getMedia().notify(action);
up.notifyResult(action,AttributionStatus.ACTIVE_CALLBACK);
NOVEL_SYS_LOG.info(
"CrossPlatformAttributionFlow.process0.deduction doing dynamic, platformId = {}, channel = {}, sprDedu = {}, channelTotalCount = {}, channelCallbackCount = {}, v = {}",
action.getPlatformId(), action.getChannelId(), sprDedu, channelTotalCount, channelCallbackCount, 1);
}else{
up.notifyResult(action,AttributionStatus.NORMAL_DEDUCTION_CALLBACK);
NOVEL_SYS_LOG.info(
"CrossPlatformAttributionFlow.process0.deduction doing dynamic, platformId = {}, channel = {}, sprDedu = {}, channelTotalCount = {}, channelCallbackCount = {}, v = {}",
action.getPlatformId(), action.getChannelId(), sprDedu, channelTotalCount, channelCallbackCount, 1);
}
up.set(up.getFirstCheckerKey(action),60 * 60 * 24,"1"); //每天扣量过一次,不在重复走
}
......@@ -124,9 +137,9 @@ public class CrossPlatformAttributionFlow extends NodeSwitchFlow<NovelAction> {
int spanCheckMaxDay = action.getCpa().getSpanCheckMaxDay();
if (daysSinceRegistration < spanCheckMaxDay) {
userType = UserType.NEW;
} else if (daysSinceRegistration>=spanCheckMaxDay && daysSinceRegistration<=150) {
userType = UserType.INTERMEDIATE;
} else if (daysSinceRegistration>=spanCheckMaxDay && daysSinceRegistration<=150) {
userType = UserType.NEW;
}
} else {
// 非当日注册用户
......
......@@ -13,6 +13,8 @@ import com.lwby.marketing.vo.ClientInfo;
import com.lwby.marketing.vo.DeliveryDeviceInfo;
import com.lwby.marketing.vo.UserProfile;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
......@@ -23,6 +25,7 @@ import java.util.Objects;
public class ParameterSetupFlow extends NodeFlow<NovelAction> {
@Resource
NovelUniversalProcess up;
private static final Logger NOVEL_ERROR_LOG = LoggerFactory.getLogger("novel.error");
@Override
public void process(NovelAction action) {
......@@ -30,7 +33,7 @@ public class ParameterSetupFlow extends NodeFlow<NovelAction> {
//获取用户注册时间
UserProfile userProfile = clientInfo.getUser();
if (userProfile == null || userProfile.getRegistrationDate() == null) {
log.error("ClientInfo.userProfile 对像为[{}],BookStoreEvent报文[{}]、ClientInfo对像[{}]",userProfile, action.getBody(), clientInfo);
NOVEL_ERROR_LOG.error("ClientInfo.userProfile 对像为[{}],BookStoreEvent报文[{}]、ClientInfo对像[{}]",userProfile, action.getBody(), clientInfo);
return;
}
......
......@@ -16,8 +16,8 @@ import java.util.Objects;
public class PrizeSevenUserFlow extends NodeFlow<NovelAction> {
//TODO;建议参数先写死
@Value("${platformPrizeExpire:{}}")
private String platformPrizeExpire;
//@Value("${platformPrizeExpire:{}}")
//private String platformPrizeExpire;
@Resource
NovelUniversalProcess up;
......@@ -26,7 +26,11 @@ public class PrizeSevenUserFlow extends NodeFlow<NovelAction> {
public void process(NovelAction action) {
if(DateTimUtils.isTimeGreaterThanSevenDays(action.getRegistrationDate())){
//代码有问题
JSONObject platformPrizeExpireJson = JSON.parseObject(platformPrizeExpire);
JSONObject platformPrizeExpireJson = JSON.parseObject("{\n"
+ " \"5\": 259200,\n"
+ " \"6\": 259200,\n"
+ " \"51\": 259200\n"
+ "}");
Integer platformPrizeExpireStr = platformPrizeExpireJson.getInteger(String.valueOf(action.getPlatformId()));
String prizeAssembleKey = NovelUniversalProcess.PRIZE_FLOW_PREFIX;
......
......@@ -8,11 +8,15 @@ import com.lwby.marketing.notify.media.jrtt.dto.JrttAttributeRequest;
import com.lwby.marketing.vo.DeliveryDeviceInfo;
import com.lwby.marketing.vo.StoryNovelAction;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Slf4j
public class StoryJRTTNotify extends DYNotify {
public static final String ATTRIBUTE_URL = "https://analytics.oceanengine.com/api/v2/conversion";
private static final Logger DYSTORY_SYS_LOG = LoggerFactory.getLogger("dystory.sys");
@Override
public boolean active(StoryNovelAction na) {
return notify(na,"active");
......@@ -39,7 +43,7 @@ public class StoryJRTTNotify extends DYNotify {
try {
String result = HttpUtil.post(ATTRIBUTE_URL, userJson);
Integer resultCode = (Integer) JSON.parseObject(result).get("code");
log.info("JRTTActiveCallback.story.{}.upload,result={},userId={},channel={},platform={}",eventType,JSON.toJSONString(result),na.getUserId(),na.getChannelId(),na.getPlatformId());
DYSTORY_SYS_LOG.info("JRTTActiveCallback.story.{}.upload,result={},userId={},channel={},platform={}",eventType,JSON.toJSONString(result),na.getUserId(),na.getChannelId(),na.getPlatformId());
return resultCode == 0;
} catch (Exception e) {
return false;
......
......@@ -2,6 +2,7 @@
<configuration>
<property name="LOG_DIR" value="${LOG_PATH:-.}" />
<!--抖音故事会-->
<appender name="dystory_sys" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_DIR}/dystory_sys.log</File>
<append>true</append>
......@@ -34,6 +35,39 @@
<appender-ref ref="dystory_error" />
</logger>
<!--小说-->
<appender name="novel_sys" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_DIR}/novel_sys.log</File>
<append>true</append>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_DIR}/novel_sys/novel_sys.%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder charset="UTF-8">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%level] [%thread] [%logger] [tr=%mdc{TRACE_ID:-0}] %msg %n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<logger name="novel.sys" level="INFO" additivity="false">
<appender-ref ref="novel_sys" />
</logger>
<appender name="novel_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_DIR}/novel_error.log</File>
<append>true</append>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_DIR}/novel_error/novel_error.%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder charset="UTF-8">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%level] [%thread] [%logger] [tr=%mdc{TRACE_ID:-0}] %msg %n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<logger name="novel.error" level="INFO" additivity="true">
<appender-ref ref="novel_error" />
</logger>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%level] [%thread] [%logger] [tr=%mdc{TRACE_ID:-0}] %msg %n</pattern>
......
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