需要导入的类:
import com.frameworkset.platform.sysmgrcore.entity.Organization; import com.frameworkset.platform.sysmgrcore.manager.LogManager; import com.frameworkset.platform.sysmgrcore.manager.SecurityDatabase;
如果是登录用户,记录日志的方法为:
try { LogManager logMgr = SecurityDatabase.getLogManager(); //以下是以一个quartz任务执行日志记录为实例说明日志组件的使用方法 AccessControl control = AccessControl.getAccessControl(); String userAccount = "";//操作账号 String operContent = "";//操作内容 String machineID = "";//操作主机标识 String orgID = "";//操作员所属部门id userAccount = control.getUserAccount(); String userName = control.getUserName();//操作员中文名称 String subsystem = control.getCurrentSystemName();//操作系统名称 machineID = control.getMachinedID();//客户端ip信息 Organization org = control.getChargeOrg();//获取当前用户所属机构对象 if(org != null) { orgID = org.getOrgId(); } operContent = userAccount + "(" + userName + ") 从[" + subsystem + "]同步用户数据开始"; String operModle = "主数据同步";//日志所属模块 logMgr.log(userAccount,orgID,operModle, machineID, operContent ,"", Log.INSERT_OPER_TYPE); } catch (Exception e) { e.printStackTrace(); } //日志记录结束
如果记录日志时,用户可能登录系统,也可能没有登录系统,记录日志时需判断用户身份(是否登录)。以下是以一个quartz任务执行日志记录为实例说明日志组件的这种使用方法:
try { LogManager logMgr = SecurityDatabase.getLogManager(); //以下是以一个quartz任务执行日志记录为实例说明日志组件的使用方法 AccessControl control = AccessControl.getAccessControl(); String userAccount = "";//操作账号 String operContent = "";//操作内容 String machineID = "";//操作主机标识 String orgID = "";//操作员所属部门id if(control == AccessControl.getGuest())//匿名用户-guest,登录用户直接忽略这个条件进入下一个环节 { machineID = SimpleStringUtil.getHostIP(); userAccount = "Quartz定时任务"; operContent = userAccount + "同步用户数据开始"; } else //登录用户 { userAccount = control.getUserAccount(); String userName = control.getUserName();//操作员中文名称 String subsystem = control.getCurrentSystemName();//操作系统名称 machineID = control.getMachinedID();//客户端ip信息 Organization org = control.getChargeOrg();//获取当前用户所属机构 if(org != null) { orgID = org.getOrgId(); } operContent = userAccount + "(" + userName + ") 从[" + subsystem + "]同步用户数据开始"; } String operModle = "主数据同步";//日志所属模块 logMgr.log(userAccount,orgID,operModle, machineID, operContent ,"", Log.INSERT_OPER_TYPE); } catch (Exception e) { e.printStackTrace(); }