From c0604184b2aa8cff924ca783ec6b36f1f5988775 Mon Sep 17 00:00:00 2001 From: Zhaoxing Date: Tue, 8 Aug 2017 14:02:53 +0800 Subject: init code Change-Id: Icd0948118397b256da70dfbcbbec5520dc5eafd4 Signed-off-by: Zhaoxing --- .../java/org/openo/log/impl/InsertLogHandler.java | 265 +++++++++++++++++++++ 1 file changed, 265 insertions(+) create mode 100644 wso2/logging-sdk/src/main/java/org/openo/log/impl/InsertLogHandler.java (limited to 'wso2/logging-sdk/src/main/java/org/openo/log/impl/InsertLogHandler.java') diff --git a/wso2/logging-sdk/src/main/java/org/openo/log/impl/InsertLogHandler.java b/wso2/logging-sdk/src/main/java/org/openo/log/impl/InsertLogHandler.java new file mode 100644 index 0000000..ea5570f --- /dev/null +++ b/wso2/logging-sdk/src/main/java/org/openo/log/impl/InsertLogHandler.java @@ -0,0 +1,265 @@ +/** + * Copyright 2017 ZTE Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.openo.log.impl; + +import java.util.HashMap; +import org.slf4j.Logger; + +import org.openo.log.api.LogMessage; +import org.openo.log.api.LogService; +import org.openo.log.api.OperLogMessage; +import org.openo.log.api.SecLogMessage; +import org.openo.log.api.SysLogMessage; +import org.slf4j.LoggerFactory; + + + +public class InsertLogHandler { + private static final Logger LOGGER = LoggerFactory.getLogger(InsertLogHandler.class.getName()); + + public void insertLog(LogMessage msg, String logIndex, String logType) { + String logJson = Facitility.hashMapToJson(msg.getLocaleMap()); + msg.setLocalMap(null); + + if (msg.getExtendedFields() != null) { + String exendedFieldsJson = Facitility.oToJ(msg.getExtendedFields()); + logJson = logJson.substring(0, logJson.lastIndexOf("}")) + "," + + exendedFieldsJson.substring(1) + "\n"; + msg.setExtendedFields(null); + } + LOGGER.info(logJson, logIndex, logType); + + + } + + public boolean checkCmdLog(OperLogMessage msg) { + StringBuilder errMsg = new StringBuilder(); + boolean errFlag = false; + HashMap checkParamsMap = new HashMap<>(); + checkParamsMap.put("userName", msg.getUserName()); + checkParamsMap.put("operation", msg.getOperation()); + checkParamsMap.put("descriptionInfo", msg.getDescriptionInfo()); + checkParamsMap.put("hostname", msg.getHostname()); + checkParamsMap.put("detail", msg.getDetail()); + checkParamsMap.put("logStartDate", msg.getLogStartDate()); + checkParamsMap.put("logEndDate", msg.getLogEndDate()); + errMsg.append(Facitility.checkRequiredParam(checkParamsMap)); + + + errMsg.append(checkCmdRank(msg.getRank())); + errMsg.append(checkConnectMode(msg.getConnectMode())); + errMsg.append(checkOperateResult(msg.getOperateResult())); + errMsg.append(checkIsDisplay(msg.getIsDisplay())); + + if (msg.getOperation() != null && !("").equals(msg.getOperation())) { + errMsg.append(Facitility.checkRequiredJsonParam(msg.getOperation(), "operation")); + } + if (msg.getDescriptionInfo() != null && !("").equals(msg.getDescriptionInfo())) { + errMsg.append(Facitility.checkRequiredJsonParam(msg.getDescriptionInfo(), "descriptionInfo")); + } + if (msg.getDetail() != null && !("").equals(msg.getDetail())) { + errMsg.append(Facitility.checkRequiredJsonParam(msg.getDetail(), "detail")); + } + if (msg.getFailReason() != null && !("").equals(msg.getFailReason())) { + errMsg.append(Facitility.checkRequiredJsonParam(msg.getFailReason(), "failReason")); + } + if (!"".equals(errMsg.toString())) { + LOGGER.warn(errMsg.toString()); + printCmdLog(msg); + errFlag = true; + } + return !errFlag; + } + + private String checkIsDisplay(int isDisplay) { + StringBuilder errMsg = new StringBuilder(); + if (isDisplay != LogService.LOG_DISPLAY && isDisplay != LogService.LOG_DISPLAY_NOT) { + errMsg.append("isDisplay must be 'LogService.LOG_DISPLAY'"); + errMsg.append(" or 'LogService.LOG_DISPLAY_NOT'\n"); + + } + return errMsg.toString(); + } + + private String checkOperateResult(String operateResult) { + StringBuilder errMsg = new StringBuilder(); + if ((operateResult != LogService.OPERLOG_SUCCESS) + && (operateResult != LogService.OPERLOG_ERROR)) { + errMsg.append("operateResult must be ' LogService.OPERLOG_ERROR'"); + errMsg.append(" or 'LogService.OPERLOG_SUCCESS'\n"); + + } + return errMsg.toString(); + } + + private String checkConnectMode(String connectMode) { + StringBuilder errMsg = new StringBuilder(); + if (!(connectMode.equals(LogService.CONNECT_TYPE_WEB) + || connectMode.equals(LogService.CONNECT_TYPE_TELNET) + || connectMode.equals(LogService.CONNECT_TYPE_SSH) + || connectMode.equals(LogService.CONNECT_TYPE_EM))) { + errMsg.append("connectMode must be 'LogService.CONNECT_TYPE_WEB'"); + errMsg.append(" or 'LogService.CONNECT_TYPE_TELNET'"); + errMsg.append(" or 'LogService.CONNECT_TYPE_SSH'"); + errMsg.append(" or 'LogService.CONNECT_TYPE_EM'\n"); + + } + + return errMsg.toString(); + } + + private String checkCmdRank(String rank) { + StringBuilder errMsg = new StringBuilder(); + boolean isExist = false; + String[] ranks = {LogService.OPERLOG_RANK_NOTICE, LogService.OPERLOG_RANK_NORMAL, + LogService.OPERLOG_RANK_IMPORTANT, LogService.OPERLOG_RANK_VERYIMPORTANT}; + for (int i = 0; i < ranks.length; i++) { + if (rank.equalsIgnoreCase(ranks[i])) { + isExist = true; + break; + } + } + if (!isExist) { + errMsg.append("rank must be 'LogService.OPERLOG_RANK_NORMAL'"); + errMsg.append(" or 'LogService.OPERLOG_RANK_NOTICE'"); + errMsg.append(" or 'LogService.OPERLOG_RANK_IMPORTANT'"); + errMsg.append(" or 'LogService.OPERLOG_RANK_VERYIMPORTANT'\n"); + + } + + return errMsg.toString(); + } + + public void printCmdLog(OperLogMessage msg) { + LOGGER.warn("CMD Log Error Detail msg"); + LOGGER.warn("UserName :" + msg.getUserName()); + LOGGER.warn("operation :" + msg.getOperation()); + LOGGER.warn("hostname :" + msg.getHostname()); + LOGGER.warn("descriptionInfo :" + msg.getDescriptionInfo()); + LOGGER.warn("operateResult :" + msg.getOperateResult()); + LOGGER.warn("FailReason :" + msg.getFailReason()); + LOGGER.warn("detail :" + msg.getDetail()); + LOGGER.warn("ConnectMode:" + msg.getConnectMode()); + LOGGER.warn("OperateResource :" + msg.getOperateResource()); + LOGGER.warn("logStartDate :" + msg.getOperateResource()); + LOGGER.warn("logEndDate :" + msg.getLogEndDate()); + LOGGER.warn("Rank :" + msg.getRank()); + } + + /** + * 检查日志�数是�符��求 + * + * @return true + */ + public boolean checkSecLog(SecLogMessage msg) { + StringBuilder errMsg = new StringBuilder(); + boolean errFlag = false; + HashMap checkParamsMap = new HashMap<>(); + checkParamsMap.put("userName", msg.getUserName()); + checkParamsMap.put("logName", msg.getLogName()); + checkParamsMap.put("hostname", msg.getHostname()); + checkParamsMap.put("detail", msg.getDetail()); + checkParamsMap.put("logDate", msg.getLogDate()); + errMsg.append(Facitility.checkRequiredParam(checkParamsMap)); + errMsg.append(checkConnectMode(msg.getConnectMode())); + + if (msg.getLogName() != null && !("").equals(msg.getLogName())) { + errMsg.append(Facitility.checkRequiredJsonParam(msg.getLogName(), "logName")); + } + if (msg.getDetail() != null && !("").equals(msg.getDetail())) { + errMsg.append(Facitility.checkRequiredJsonParam(msg.getDetail(), "detail")); + } + if (!"".equals(errMsg.toString())) { + LOGGER.warn(errMsg.toString()); + this.printSecLog(msg); + errFlag = true; + } + return !errFlag; + } + + public void printSecLog(SecLogMessage secLog) { + LOGGER.warn("SCRT Log Error Detail msg"); + LOGGER.warn("logDate :" + secLog.getLogDate()); + LOGGER.warn("logName :" + secLog.getLogName()); + LOGGER.warn("userName :" + secLog.getUserName()); + LOGGER.warn("hostname :" + secLog.getHostname()); + LOGGER.warn("connectMode:" + secLog.getConnectMode()); + LOGGER.warn("detail :" + secLog.getDetail()); + } + + public boolean checkSysLog(SysLogMessage msg) { + StringBuilder errMsg = new StringBuilder(); + boolean errFlag = false; + HashMap checkParamsMap = new HashMap<>(); + + checkParamsMap.put("logName", msg.getLogName()); + checkParamsMap.put("logStartDate", msg.getLogStartDate()); + checkParamsMap.put("logEndDate", msg.getLogEndDate()); + checkParamsMap.put("hostname", msg.getHostname()); + checkParamsMap.put("detail", msg.getDetail()); + errMsg.append(Facitility.checkRequiredParam(checkParamsMap)); + errMsg.append(checkSysRank(msg.getRank())); + if (msg.getLogName() != null && !("").equals(msg.getLogName())) { + errMsg.append(Facitility.checkRequiredJsonParam(msg.getLogName(), "logName")); + } + if (msg.getDetail() != null && !("").equals(msg.getDetail())) { + errMsg.append(Facitility.checkRequiredJsonParam(msg.getDetail(), "detail")); + } + if (!"".equals(errMsg.toString())) { + LOGGER.warn(errMsg.toString()); + printSysLog(msg); + errFlag = true; + } + return !errFlag; + } + + private String checkSysRank(String rank) { + StringBuilder errMsg = new StringBuilder(); + boolean isExist = false; + String[] ranks = {LogService.SYSLOG_RANK_INFORM, LogService.SYSLOG_RANK_NOTICE, + LogService.SYSLOG_RANK_WARN, LogService.SYSLOG_RANK_ERROR, LogService.SYSLOG_RANK_ALERT, + LogService.SYSLOG_RANK_EMERG}; + for (int i = 0; i < ranks.length; i++) { + if (rank.equalsIgnoreCase(ranks[i])) { + isExist = true; + break; + } + } + if (!isExist) { + errMsg.append("rank must be 'LogService.SYSLOG_INFORM'"); + errMsg.append(" or 'LogService.SYSLOG_NOTICE'"); + errMsg.append(" or 'LogService.SYSLOG_WARN'"); + errMsg.append(" or 'LogService.SYSLOG_ERROR'"); + errMsg.append(" or 'LogService.SYSLOG_ALTERT'"); + errMsg.append(" or 'LogService.SYSLOG_EMERG'\n"); + + } + + return errMsg.toString(); + } + + public void printSysLog(SysLogMessage msg) { + LOGGER.warn("System Log Error Detail msg"); + LOGGER.warn("logName :" + msg.getLogName()); + LOGGER.warn("rank :" + msg.getRank()); + LOGGER.warn("source :" + msg.getSource()); + LOGGER.warn("logStartDate :" + msg.getLogStartDate()); + LOGGER.warn("logEndDate :" + msg.getLogEndDate()); + LOGGER.warn("detail :" + msg.getDetail()); + } + +} + -- cgit 1.2.3-korg