/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package util; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import org.apache.commons.lang.StringUtils; public class SystemLogUtils { public static final String SYSTEM_EVENTS_LOG = "systemevents"; public static final String MESSAGES_LOG = "messages"; public static final String NGINX_ACCESS_LOG = "nginx_access"; public static final String NGINX_ERROR_LOG = "nginx_error"; public static final String BKUTILS_LOG = "bkutils"; public static final String[] NON_SERVICE_LOGS = { SYSTEM_EVENTS_LOG, MESSAGES_LOG, NGINX_ACCESS_LOG, NGINX_ERROR_LOG, BKUTILS_LOG }; public static String buildLogsUrl(String format, String nodeId, String logName, Integer severity, String searchMessage, String startTime, String endTime) { StringBuffer sb = new StringBuffer("logs"); if (StringUtils.isNotBlank(format)) { sb.append('.'); sb.append(format); } sb.append("?end="); sb.append(urlEncode(endTime)); if (StringUtils.isNotBlank(nodeId)) { sb.append("&node_id="); sb.append(urlEncode(nodeId)); } if (StringUtils.isNotBlank(logName)) { sb.append("&log_name="); sb.append(urlEncode(logName)); } if (severity != null) { sb.append("&severity="); sb.append(urlEncode(severity)); } if (StringUtils.isNotBlank(searchMessage)) { sb.append("&msg_regex="); sb.append(urlEncode(searchMessage)); } sb.append("&start="); sb.append(urlEncode(startTime)); return sb.toString(); } private static String urlEncode(Object o) { String value = null; if (o instanceof String) { value = (String) o; } else if (o != null) { value = o.toString(); } return urlEncode(value); } private static String urlEncode(String s) { try { return s != null ? URLEncoder.encode(s, "UTF-8") : ""; } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } } }