📄 managelogs.java
字号:
// $Id: ManageLogs.java,v 1.3 2002/04/03 17:18:57 pvollenweider Exp $//// ____.// __/\ ______| |__/\. _______// __ .____| | \ | +----+ \// _______| /--| | | - \ _ | : - \_________// \\______: :---| : : | : | \________>// |__\---\_____________:______: :____|____:_____\// /_____|//// . . . i n j a h i a w e t r u s t . . .////// ManageLogs//// 01.04.2001 MJ added in jahia.////package org.jahia.admin.audit;import java.io.*; // IOExceptionimport java.util.*;import java.sql.*;import javax.servlet.*;import javax.servlet.http.*;import org.jahia.bin.*;import org.jahia.params.*; // ParamBeanimport org.jahia.utils.*;import org.jahia.utils.properties.*;import org.jahia.data.events.*; // JahiaEventListenerInterfaceimport org.jahia.settings.*; // JahiaPrivateSettingsimport org.jahia.registries.*; // ServicesRegistry, ListenersRegistryimport org.jahia.services.pages.*; // JahiaPageDB, JahiaPageUtilsDBimport org.jahia.services.audit.*; // JahiaAuditLogManagerimport org.jahia.services.usermanager.*; // JahiaUserManager/** * desc: This class provides the business methods for audit * log management, from the JahiaAdministration servlet. * * Copyright: Copyright (c) 2002 * Company: Jahia Ltd * * @author Mikhael Janson * @version 1.0 */public class ManageLogs{ private static final String CLASS_NAME = JahiaAdministration.CLASS_NAME; private static final String JSP_PATH = JahiaAdministration.JSP_PATH; private static final String LOGGING_EVENT_LISTENER = "org.jahia.services.audit.LoggingEventListener"; private static JahiaAuditLogManagerService lMgr; private static JahiaListenersRegistry lReg; /** * Default constructor. * @author Alexandre Kraft * * @param request Servlet request. * @param response Servlet response. * @param session Servlet session for the current user. */ public ManageLogs( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws Throwable { lReg = JahiaListenersRegistry.getInstance(); ServicesRegistry sReg = ServicesRegistry.getInstance(); if (sReg != null) lMgr = sReg.getJahiaAuditLogManagerService(); userRequestDispatcher( request, response, session ); } // end constructor /** * This method serves as a dispatcher for user requests. * @author Alexandre Kraft * @author Mikhael Janson * * @param req Servlet request. * @param res Servlet response. * @param sess Servlet session for the current user. */ private void userRequestDispatcher( HttpServletRequest req, HttpServletResponse res, HttpSession sess ) throws IOException, ServletException { String op = req.getParameter("sub"); if(op.equals("settings")) displaySettings( req, res, sess ); else if(op.equals("view")) displayView( req, res, sess ); else if(op.equals("flushconfirm")) displayFlush( req, res, sess ); else if(op.equals("manage")) processSettings( req, res, sess ); else if(op.equals("flush")) processFlush( req, res, sess ); else if(op.equals("enable")) processEnable( req, res, sess ); else if(op.equals("disable")) processDisable( req, res, sess ); } // userRequestDispatcher /** * Display a UI for audit log management, using doRedirect(). * * @author Mikhael Janson * @param req the HttpServletRequest object * @param res the HttpServletResponse object * @param sess the HttpSession object */ private void displaySettings( HttpServletRequest req, HttpServletResponse res, HttpSession sess ) throws IOException, ServletException { String jahiaDisplayMessage = (String) sess.getAttribute(CLASS_NAME + "jahiaDisplayMessage"); boolean logEnabled = true; String maxLogs = ""; if(lReg != null) { // get log config and set default values... logEnabled = (lReg.getListener(LOGGING_EVENT_LISTENER) == null) ? false : true ; if(logEnabled) { maxLogs = JahiaPrivateSettings.readJahiaPropertiesFile().getProperty("jahiaMaxLogs"); if(maxLogs == null) maxLogs = "0"; } if(jahiaDisplayMessage == null) jahiaDisplayMessage = Jahia.COPYRIGHT; // set request attributes... req.setAttribute("logEnabled", new Boolean(logEnabled)); req.setAttribute("maxLogs", maxLogs); req.setAttribute("jahiaDisplayMessage", jahiaDisplayMessage); JahiaAdministration.doRedirect( req, res, sess, JSP_PATH + "manage_logs.jsp" ); } else { // back to menu in case of problems with the Managers... sess.setAttribute(CLASS_NAME + "jahiaDisplayMessage", "Could not get an instance of Listeners Registry"); JahiaAdministration.displayMenu( req, res, sess ); } } // end displaySettings /** * Display full audit log, using doRedirect(). * * @author Mikhael Janson * @param req the HttpServletRequest object * @param res the HttpServletResponse object * @param sess the HttpSession object */ private void displayView( HttpServletRequest req, HttpServletResponse res, HttpSession sess ) throws IOException, ServletException { String jahiaDisplayMessage = (String) sess.getAttribute(CLASS_NAME + "jahiaDisplayMessage"); if (lMgr !=null) { // get logs ArrayList logData = lMgr.getLog(); // set default values... if(jahiaDisplayMessage == null) jahiaDisplayMessage = Jahia.COPYRIGHT; // set session and request attributes... Boolean keeprecentlogs = (Boolean) sess.getAttribute("keeprecentlogs"); if( keeprecentlogs == null ) sess.setAttribute("keeprecentlogs", new Boolean(true)); Integer maxlogsdays = (Integer) sess.getAttribute("maxlogsdays"); if( maxlogsdays == null ) sess.setAttribute("maxlogsdays", new Integer(60)); req.setAttribute("logData", logData); sess.setAttribute(CLASS_NAME + "jahiaDisplayMessage", jahiaDisplayMessage); JahiaAdministration.doRedirect( req, res, sess, JSP_PATH + "logs.jsp" ); } else { // back to menu in case of problems with the Managers... sess.setAttribute(CLASS_NAME + "jahiaDisplayMessage", "Could not get an instance of AuditLogManager"); JahiaAdministration.displayMenu( req, res, sess ); } } // end displayView /** * Enable Audit Event logging * * @author Mikhael Janson * @param req the HttpServletRequest object
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -