设备离线信息保存,日志打印

This commit is contained in:
yiyan 2019-05-14 22:53:11 +08:00
parent 84cc865b17
commit b32745c772
7 changed files with 47 additions and 47 deletions

View File

@ -9,7 +9,7 @@
<property name="offlineMacAddress" column="offline_mac_address" type="string" length="50"/> <property name="offlineMacAddress" column="offline_mac_address" type="string" length="50"/>
<property name="offlineFactoryCode" column="offline_factory_code" type="string" length="10"/> <property name="offlineFactoryCode" column="offline_factory_code" type="string" length="10"/>
<property name="offlineDeviceType" column="offline_device_type" type="string" length="10"/> <property name="offlineDeviceType" column="offline_device_type" type="string" length="10"/>
<property name="offlineTime" column="offline_time" type="date" /> <property name="offlineTime" column="offline_time" type="timestamp" />
<property name="offlineSdkVersion" column="offline_sdk_version" type="string" length="20"/> <property name="offlineSdkVersion" column="offline_sdk_version" type="string" length="20"/>
</class> </class>
</hibernate-mapping> </hibernate-mapping>

View File

@ -1,21 +1,6 @@
package com.ifish.quartz; package com.ifish.quartz;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.ifish.entity.*; import com.ifish.entity.*;
import com.ifish.util.IfishUtil;
import org.apache.mina.core.session.IoSession;
import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import com.ifish.enums.BooleanEnum; import com.ifish.enums.BooleanEnum;
import com.ifish.enums.NeteaseEnum; import com.ifish.enums.NeteaseEnum;
import com.ifish.enums.PushTypeEnum; import com.ifish.enums.PushTypeEnum;
@ -23,10 +8,23 @@ import com.ifish.netease.NeteaseIM;
import com.ifish.service.DeviceService; import com.ifish.service.DeviceService;
import com.ifish.service.UserService; import com.ifish.service.UserService;
import com.ifish.socketNew.SomeServer; import com.ifish.socketNew.SomeServer;
import com.ifish.util.IfishUtil;
import org.apache.log4j.Logger;
import org.apache.mina.core.session.IoSession;
import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ExecuteJob implements Job { public class ExecuteJob implements Job {
private static Logger log = LoggerFactory.getLogger(ExecuteJob.class); private static Logger log = Logger.getLogger(ExecuteJob.class);
@Autowired @Autowired
private NeteaseIM neteaseIM; private NeteaseIM neteaseIM;
@Autowired @Autowired
@ -56,7 +54,7 @@ public class ExecuteJob implements Job {
deviceOffline.setOfflineSdkVersion(String.valueOf(device.getSdkVersion())); deviceOffline.setOfflineSdkVersion(String.valueOf(device.getSdkVersion()));
deviceOffline.setOfflineTime(IfishUtil.StrToDate1(timestamp)); deviceOffline.setOfflineTime(IfishUtil.StrToDate1(timestamp));
deviceService.saveDeviceOffline(deviceOffline); deviceService.saveDeviceOffline(deviceOffline);
log.info("离线设备信息保存++++++++++++++++++++++++++++++++++++++++++");
//记录次数 //记录次数
Integer number1 = device.getNumber1(); Integer number1 = device.getNumber1();
Integer number2 = device.getNumber2(); Integer number2 = device.getNumber2();
@ -113,8 +111,7 @@ public class ExecuteJob implements Job {
} }
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); log.error(e.getMessage(),e);
log.error("error msg:{}",e.toString());
} }
} }
} }

View File

@ -1,18 +1,16 @@
package com.ifish.socketNew; package com.ifish.socketNew;
import java.util.Date;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.mina.core.service.IoHandlerAdapter;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.core.session.IoSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import com.ifish.quartz.JobGroup; import com.ifish.quartz.JobGroup;
import com.ifish.quartz.ScheduleJob; import com.ifish.quartz.ScheduleJob;
import com.ifish.util.IfishUtil; import com.ifish.util.IfishUtil;
import org.apache.log4j.Logger;
import org.apache.mina.core.service.IoHandlerAdapter;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.core.session.IoSession;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Date;
import java.util.concurrent.atomic.AtomicInteger;
/** /**
* mina服务器端事件处理 * mina服务器端事件处理
@ -23,7 +21,7 @@ public class MinaServerHandler extends IoHandlerAdapter {
private final AtomicInteger atomicInt = new AtomicInteger(); private final AtomicInteger atomicInt = new AtomicInteger();
private static Logger log = LoggerFactory.getLogger(MinaServerHandler.class); private static Logger log = Logger.getLogger(MinaServerHandler.class);
@Autowired @Autowired
private SomeServer someServer; private SomeServer someServer;
@ -33,7 +31,7 @@ public class MinaServerHandler extends IoHandlerAdapter {
@Override @Override
public void exceptionCaught(IoSession session, Throwable cause) throws Exception { public void exceptionCaught(IoSession session, Throwable cause) throws Exception {
cause.printStackTrace(); cause.printStackTrace();
log.error("{}服务器-客户端session异常:{}", session.getRemoteAddress(), cause.toString()); log.error(String.format("{%s}服务器-客户端session异常:", session.getRemoteAddress()), cause);
} }
/** /**
@ -49,7 +47,7 @@ public class MinaServerHandler extends IoHandlerAdapter {
*/ */
@Override @Override
public void sessionCreated(IoSession session) throws Exception { public void sessionCreated(IoSession session) throws Exception {
log.info("{}:会话创建,在线数:{}", session.getRemoteAddress(), atomicInt.incrementAndGet()); log.info(String.format("{%s}:会话创建,在线数:{%s}", session.getRemoteAddress(), atomicInt.incrementAndGet()));
} }
/** /**
@ -57,7 +55,7 @@ public class MinaServerHandler extends IoHandlerAdapter {
*/ */
@Override @Override
public void sessionClosed(IoSession session) throws Exception { public void sessionClosed(IoSession session) throws Exception {
log.info("{}:会话关闭,连接数:{}", session.getRemoteAddress(), atomicInt.decrementAndGet()); log.info(String.format("{%s}:会话关闭在线数:{%s}", session.getRemoteAddress(), atomicInt.incrementAndGet()));
//旧连接关闭,获取设备mac地址 //旧连接关闭,获取设备mac地址
String oldConnect = session.getRemoteAddress().toString(); String oldConnect = session.getRemoteAddress().toString();
String macAddress = SomeServer.remoteAddress.get(oldConnect); String macAddress = SomeServer.remoteAddress.get(oldConnect);
@ -93,6 +91,7 @@ public class MinaServerHandler extends IoHandlerAdapter {
jobGroup.setTimestamp(IfishUtil.format(new Date())); jobGroup.setTimestamp(IfishUtil.format(new Date()));
//10分钟后推送 update 30分钟 //10分钟后推送 update 30分钟
jobGroup.setStartTime(new Date(System.currentTimeMillis() + 600000L * 3)); jobGroup.setStartTime(new Date(System.currentTimeMillis() + 600000L * 3));
// jobGroup.setStartTime(new Date(System.currentTimeMillis() + 6000));
scheduleJob.addJob(jobGroup); scheduleJob.addJob(jobGroup);
} }
@ -110,7 +109,7 @@ public class MinaServerHandler extends IoHandlerAdapter {
@Override @Override
public void sessionIdle(IoSession session, IdleStatus status) public void sessionIdle(IoSession session, IdleStatus status)
throws Exception { throws Exception {
log.info("空闲超时,服务器主动关闭连接{}", session.getRemoteAddress()); log.info(String.format("空闲超时,服务器主动关闭连接{%s}", session.getRemoteAddress()));
session.close(true); session.close(true);
} }

View File

@ -3,7 +3,7 @@ log4j.rootLogger=INFO,CONSOLE,FILE,ROLLING_FILE
# Console Appender # Console Appender
################### ###################
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=INFO log4j.appender.Threshold=DEBUG
log4j.appender.CONSOLE.Target=System.out log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[ifish7Socket][%-5p]%d - (%F:%L) - %m%n log4j.appender.CONSOLE.layout.ConversionPattern=[ifish7Socket][%-5p]%d - (%F:%L) - %m%n
@ -11,7 +11,7 @@ log4j.appender.CONSOLE.layout.ConversionPattern=[ifish7Socket][%-5p]%d - (%F:%L)
# [INFO]Daily Rolling File # [INFO]Daily Rolling File
######################## ########################
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.Threshold=INFO log4j.appender.FILE.Threshold=DEBUG
log4j.appender.FILE.File=/logs/ifishSocket/ifish7Socket_ALL.log log4j.appender.FILE.File=/logs/ifishSocket/ifish7Socket_ALL.log
log4j.appender.FILE.Append=true log4j.appender.FILE.Append=true
log4j.appender.FILE.ImmediateFlush = true log4j.appender.FILE.ImmediateFlush = true
@ -31,7 +31,8 @@ log4j.appender.ROLLING_FILE.DatePattern='.'yyyy-MM-dd
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[Ifish7][%-5p]%d - %c.%t(%F:%L) - %m%n log4j.appender.ROLLING_FILE.layout.ConversionPattern=[Ifish7][%-5p]%d - %c.%t(%F:%L) - %m%n
log4j.logger.com.ifish=DEBUG
log4j.logger.org.springframework=INFO log4j.logger.org.springframework=INFO
log4j.logger.com.hibernate=INFO log4j.logger.com.hibernate=INFO
log4j.logger.java.sql=INFO log4j.logger.java.sql=DEBUG

View File

@ -46,18 +46,21 @@
<level>WARN</level> <level>WARN</level>
</filter> </filter>
</appender> </appender>
<!-- 记录设备连接数量--> <logger name="com.hibernate" level="DEBUG" additivity="false">
<logger name="com.ifish.socketNew.MinaServerHandler" level="INFO" additivity="false"> <appender-ref ref="Console" />
<appender-ref ref="file" /> </logger>
<!-- <appender-ref ref="Console" /> --> <logger name="org.springframework" level="DEBUG" additivity="false">
<appender-ref ref="Console" />
</logger>
<logger name="java.sql" level="DEBUG" additivity="false">
<appender-ref ref="Console" />
</logger> </logger>
<!-- 将级别为“info”及大于“info”的日志信息传递给root处理本身并不打印 --> <!-- 将级别为“info”及大于“info”的日志信息传递给root处理本身并不打印 -->
<root level="info"> <root level="info">
<!-- root将级别为“INFO”及大于“INFO”的日志信息交给已经配置好的名为“Console”的appender处理“Console”appender将信息打印到Console --> <!-- root将级别为“INFO”及大于“INFO”的日志信息交给已经配置好的名为“Console”的appender处理“Console”appender将信息打印到Console -->
<appender-ref ref="file2" /> <appender-ref ref="file2" />
<!-- <appender-ref ref="Console" /> --> <appender-ref ref="Console" />
<!-- 标识这个appender将会添加到这个logger --> <!-- 标识这个appender将会添加到这个logger -->
<!-- <appender-ref ref="File" /> --> <!-- <appender-ref ref="File" /> -->
</root> </root>

View File

@ -1,5 +1,5 @@
#\u672c\u5730 #\u672c\u5730
#ifish.ip=192.168.1.13 #ifish.ip=192.168.1.7
#\u6d4b\u8bd5\u4e91 #\u6d4b\u8bd5\u4e91
#ifish.ip=139.196.24.156 #ifish.ip=139.196.24.156
#\u6b63\u5f0f\u4e91 #\u6b63\u5f0f\u4e91

View File

@ -5,7 +5,7 @@
<welcome-file-list> <welcome-file-list>
<welcome-file>index.jsp</welcome-file> <welcome-file>index.jsp</welcome-file>
</welcome-file-list> </welcome-file-list>
<context-param> <context-param>
<param-name>contextConfigLocation</param-name> <param-name>contextConfigLocation</param-name>
<param-value> <param-value>