Example usage for org.apache.commons.logging Log info

List of usage examples for org.apache.commons.logging Log info

Introduction

In this page you can find the example usage for org.apache.commons.logging Log info.

Prototype

void info(Object message);

Source Link

Document

Logs a message with info log level.

Usage

From source file:org.alfresco.repo.module.LoggerModuleComponent.java

@Override
protected void executeInternal() throws Throwable {
    String moduleId = super.getModuleId();
    String name = super.getName();
    Log logger = LogFactory.getLog(moduleId + "." + name);
    switch (logLevel) {
    case INFO://from ww w  .  j a v  a  2  s. c  om
        logger.info(message);
        break;
    case WARN:
        logger.warn(message);
        break;
    case ERROR:
        logger.error(message);
        break;
    }
}

From source file:org.alfresco.util.LogUtil.java

/**
 * Log an I18Nized message to INFO.//from   w  w w  .  ja v  a 2  s  . com
 * 
 * @param logger        the logger to use
 * @param messageKey    the message key
 * @param args          the required message arguments
 */
public static final void info(Log logger, String messageKey, Object... args) {
    logger.info(I18NUtil.getMessage(messageKey, args));
}

From source file:org.alfresco.web.app.servlet.BaseDownloadContentServlet.java

/**
 * Processes the download request using the current context i.e. no authentication checks are made, it is presumed
 * they have already been done.// ww w.ja  v  a 2  s .  c o m
 * 
 * @param req
 *           The HTTP request
 * @param res
 *           The HTTP response
 * @param allowLogIn
 *           Indicates whether guest users without access to the content should be redirected to the log in page. If
 *           <code>false</code>, a status 403 forbidden page is displayed instead.
 */
protected void processDownloadRequest(HttpServletRequest req, HttpServletResponse res, boolean allowLogIn,
        boolean transmitContent) throws ServletException, IOException {
    Log logger = getLogger();
    String uri = req.getRequestURI();

    if (logger.isDebugEnabled()) {
        String queryString = req.getQueryString();
        logger.debug("Processing URL: " + uri
                + ((queryString != null && queryString.length() > 0) ? ("?" + queryString) : ""));
    }

    uri = uri.substring(req.getContextPath().length());
    StringTokenizer t = new StringTokenizer(uri, "/");
    int tokenCount = t.countTokens();

    t.nextToken(); // skip servlet name

    // attachment mode (either 'attach' or 'direct')
    String attachToken = t.nextToken();
    boolean attachment = URL_ATTACH.equals(attachToken) || URL_ATTACH_LONG.equals(attachToken);

    ServiceRegistry serviceRegistry = getServiceRegistry(getServletContext());

    // get or calculate the noderef and filename to download as
    NodeRef nodeRef;
    String filename;

    // do we have a path parameter instead of a NodeRef?
    String path = req.getParameter(ARG_PATH);
    if (path != null && path.length() != 0) {
        // process the name based path to resolve the NodeRef and the Filename element
        try {
            PathRefInfo pathInfo = resolveNamePath(getServletContext(), path);
            nodeRef = pathInfo.NodeRef;
            filename = pathInfo.Filename;
        } catch (IllegalArgumentException e) {
            Application.handleSystemError(getServletContext(), req, res, MSG_ERROR_NOT_FOUND,
                    HttpServletResponse.SC_NOT_FOUND, logger);
            return;
        }
    } else {
        // a NodeRef must have been specified if no path has been found
        if (tokenCount < 6) {
            throw new IllegalArgumentException("Download URL did not contain all required args: " + uri);
        }

        // assume 'workspace' or other NodeRef based protocol for remaining URL elements
        StoreRef storeRef = new StoreRef(URLDecoder.decode(t.nextToken()), URLDecoder.decode(t.nextToken()));
        String id = URLDecoder.decode(t.nextToken());

        // build noderef from the appropriate URL elements
        nodeRef = new NodeRef(storeRef, id);

        if (tokenCount > 6) {
            // found additional relative path elements i.e. noderefid/images/file.txt
            // this allows a url to reference siblings nodes via a cm:name based relative path
            // solves the issue with opening HTML content containing relative URLs in HREF or IMG tags etc.
            List<String> paths = new ArrayList<String>(tokenCount - 5);
            while (t.hasMoreTokens()) {
                paths.add(URLDecoder.decode(t.nextToken()));
            }
            filename = paths.get(paths.size() - 1);

            try {
                NodeRef parentRef = serviceRegistry.getNodeService().getPrimaryParent(nodeRef).getParentRef();
                FileInfo fileInfo = serviceRegistry.getFileFolderService().resolveNamePath(parentRef, paths);
                nodeRef = fileInfo.getNodeRef();
            } catch (FileNotFoundException e) {
                Application.handleSystemError(getServletContext(), req, res, MSG_ERROR_NOT_FOUND,
                        HttpServletResponse.SC_NOT_FOUND, logger);
                return;
            }
        } else {
            // filename is last remaining token
            filename = t.nextToken();
        }
    }

    // get qualified of the property to get content from - default to ContentModel.PROP_CONTENT
    QName propertyQName = ContentModel.PROP_CONTENT;
    String property = req.getParameter(ARG_PROPERTY);
    if (property != null && property.length() != 0) {
        propertyQName = QName.createQName(property);
    }

    if (logger.isDebugEnabled()) {
        logger.debug("Found NodeRef: " + nodeRef);
        logger.debug("Will use filename: " + filename);
        logger.debug("For property: " + propertyQName);
        logger.debug("With attachment mode: " + attachment);
    }

    // get the services we need to retrieve the content
    NodeService nodeService = serviceRegistry.getNodeService();
    ContentService contentService = serviceRegistry.getContentService();

    // Check that the node still exists
    if (!nodeService.exists(nodeRef)) {
        Application.handleSystemError(getServletContext(), req, res, MSG_ERROR_NOT_FOUND,
                HttpServletResponse.SC_NOT_FOUND, logger);
        return;
    }

    try {
        // check that the user has at least READ_CONTENT access - else redirect to an error or login page
        if (!checkAccess(req, res, nodeRef, PermissionService.READ_CONTENT, allowLogIn)) {
            return;
        }

        // check If-Modified-Since header and set Last-Modified header as appropriate
        Date modified = (Date) nodeService.getProperty(nodeRef, ContentModel.PROP_MODIFIED);
        if (modified != null) {
            long modifiedSince = req.getDateHeader(HEADER_IF_MODIFIED_SINCE);
            if (modifiedSince > 0L) {
                // round the date to the ignore millisecond value which is not supplied by header
                long modDate = (modified.getTime() / 1000L) * 1000L;
                if (modDate <= modifiedSince) {
                    if (logger.isDebugEnabled())
                        logger.debug("Returning 304 Not Modified.");
                    res.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
                    return;
                }
            }
            res.setDateHeader(HEADER_LAST_MODIFIED, modified.getTime());
            res.setHeader(HEADER_CACHE_CONTROL, "must-revalidate, max-age=0");
            res.setHeader(HEADER_ETAG, "\"" + Long.toString(modified.getTime()) + "\"");
        }

        if (attachment == true) {
            setHeaderContentDisposition(req, res, filename);
        }

        // get the content reader
        ContentReader reader = contentService.getReader(nodeRef, propertyQName);
        // ensure that it is safe to use
        reader = FileContentReader.getSafeContentReader(reader,
                Application.getMessage(req.getSession(), MSG_ERROR_CONTENT_MISSING), nodeRef, reader);

        String mimetype = reader.getMimetype();
        // fall back if unable to resolve mimetype property
        if (mimetype == null || mimetype.length() == 0) {
            MimetypeService mimetypeMap = serviceRegistry.getMimetypeService();
            mimetype = MIMETYPE_OCTET_STREAM;
            int extIndex = filename.lastIndexOf('.');
            if (extIndex != -1) {
                String ext = filename.substring(extIndex + 1);
                mimetype = mimetypeMap.getMimetype(ext);
            }
        }

        // explicitly set the content disposition header if the content is powerpoint
        if (!attachment && (mimetype.equals(POWER_POINT_2007_DOCUMENT_MIMETYPE)
                || mimetype.equals(POWER_POINT_DOCUMENT_MIMETYPE))) {
            setHeaderContentDisposition(req, res, filename);
        }

        // get the content and stream directly to the response output stream
        // assuming the repo is capable of streaming in chunks, this should allow large files
        // to be streamed directly to the browser response stream.
        res.setHeader(HEADER_ACCEPT_RANGES, "bytes");

        // for a GET request, transmit the content else just the headers are sent
        if (transmitContent) {
            try {
                boolean processedRange = false;
                String range = req.getHeader(HEADER_CONTENT_RANGE);
                if (range == null) {
                    range = req.getHeader(HEADER_RANGE);
                }
                if (range != null) {
                    if (logger.isDebugEnabled())
                        logger.debug("Found content range header: " + range);

                    // ensure the range header is starts with "bytes=" and process the range(s)
                    if (range.length() > 6) {
                        HttpRangeProcessor rangeProcessor = new HttpRangeProcessor(contentService);
                        processedRange = rangeProcessor.processRange(res, reader, range.substring(6), nodeRef,
                                propertyQName, mimetype, req.getHeader(HEADER_USER_AGENT));
                    }
                }
                if (processedRange == false) {
                    if (logger.isDebugEnabled())
                        logger.debug("Sending complete file content...");

                    // set mimetype for the content and the character encoding for the stream
                    res.setContentType(mimetype);
                    res.setCharacterEncoding(reader.getEncoding());

                    // MNT-10642 Alfresco Explorer has javascript vulnerability opening HTML files
                    if (req.getRequestURI().contains("/d/d/") && (mimetype.equals("text/html")
                            || mimetype.equals("application/xhtml+xml") || mimetype.equals("text/xml"))) {
                        String content = reader.getContentString();

                        if (mimetype.equals("text/html") || mimetype.equals("application/xhtml+xml")) {
                            // process with HTML stripper
                            content = StringUtils.stripUnsafeHTMLTags(content, false);
                        } else if (mimetype.equals("text/xml") && mimetype.equals("text/x-component")) {
                            // IE supports "behaviour" which means that css can load a .htc file that could
                            // contain XSS code in the form of jscript, vbscript etc, to stop it form being
                            // evaluated we set the contient type to text/plain
                            res.setContentType("text/plain");
                        }

                        String encoding = reader.getEncoding();
                        byte[] bytes = encoding != null ? content.getBytes(encoding) : content.getBytes();
                        res.setContentLength(bytes.length);
                        res.getOutputStream().write(bytes);

                        return;
                    }

                    // return the complete entity range
                    long size = reader.getSize();
                    res.setHeader(HEADER_CONTENT_RANGE,
                            "bytes 0-" + Long.toString(size - 1L) + "/" + Long.toString(size));
                    res.setHeader(HEADER_CONTENT_LENGTH, Long.toString(size));
                    reader.getContent(res.getOutputStream());
                }
            } catch (SocketException e1) {
                // the client cut the connection - our mission was accomplished apart from a little error message
                if (logger.isDebugEnabled())
                    logger.debug("Client aborted stream read:\n\tnode: " + nodeRef + "\n\tcontent: " + reader);
            } catch (ContentIOException e2) {
                if (logger.isInfoEnabled())
                    logger.info("Failed stream read:\n\tnode: " + nodeRef + " due to: " + e2.getMessage());
            } catch (Throwable err) {
                if (err.getCause() instanceof SocketException) {
                    // the client cut the connection - our mission was accomplished apart from a little error message
                    if (logger.isDebugEnabled())
                        logger.debug(
                                "Client aborted stream read:\n\tnode: " + nodeRef + "\n\tcontent: " + reader);
                } else
                    throw err;
            }
        } else {
            if (logger.isDebugEnabled())
                logger.debug("HEAD request processed - no content sent.");
            res.getOutputStream().close();
        }
    } catch (Throwable err) {
        throw new AlfrescoRuntimeException(
                "Error during download content servlet processing: " + err.getMessage(), err);
    }
}

From source file:org.apache.ambari.servicemonitor.unit.Log4JDiagTest.java

@Test
public void testLog4J() throws Throwable {
    Log log = LogFactory.getLog(this.getClass());
    URL log4jURL = log.getClass().getClassLoader().getResource("log4j.properties");
    System.out.println("Log4J is at " + log4jURL);
    log.info("Log4J is at " + log4jURL);
    LogFactory factory = LogFactory.getFactory();
    log.info("Commons logging factory is " + factory);
}

From source file:org.apache.avalon.mutuals.dao.impl.PicoPortfolioManager.java

public void enableLogging(Log log) {
    m_log = log;
    log.info("Logging enabled for PicoPortfolioManager");
}

From source file:org.apache.cayenne.tools.DbGeneratorMojo.java

public void execute() throws MojoExecutionException, MojoFailureException {

    Log logger = new MavenLogger(this);
    Injector injector = DIBootstrap.createInjector(new DbSyncModule(), new ToolsModule(logger));
    AdhocObjectFactory objectFactory = injector.getInstance(AdhocObjectFactory.class);

    logger.info(
            String.format("connection settings - [driver: %s, url: %s, username: %s]", driver, url, username));

    logger.info(String.format(// w ww.  j ava  2  s. c  o  m
            "generator options - [dropTables: %s, dropPK: %s, createTables: %s, createPK: %s, createFK: %s]",
            dropTables, dropPK, createTables, createPK, createFK));

    try {
        final DbAdapter adapterInst = (adapter == null)
                ? (DbAdapter) objectFactory.newInstance(DbAdapter.class, JdbcAdapter.class.getName())
                : (DbAdapter) objectFactory.newInstance(DbAdapter.class, adapter);

        // Load the data map and run the db generator.
        DataMap dataMap = loadDataMap();
        DbGenerator generator = new DbGenerator(adapterInst, dataMap, NoopJdbcEventLogger.getInstance());
        generator.setShouldCreateFKConstraints(createFK);
        generator.setShouldCreatePKSupport(createPK);
        generator.setShouldCreateTables(createTables);
        generator.setShouldDropPKSupport(dropPK);
        generator.setShouldDropTables(dropTables);

        // load driver taking custom CLASSPATH into account...
        DriverDataSource dataSource = new DriverDataSource((Driver) Class.forName(driver).newInstance(), url,
                username, password);

        generator.runGenerator(dataSource);
    } catch (Exception ex) {
        Throwable th = Util.unwindException(ex);

        String message = "Error generating database";

        if (th.getLocalizedMessage() != null) {
            message += ": " + th.getLocalizedMessage();
        }

        logger.error(message);
        throw new MojoExecutionException(message, th);
    }
}

From source file:org.apache.flink.runtime.util.EnvironmentInformation.java

public static void logEnvironmentInfo(Log log, String componentName) {
    if (log.isInfoEnabled()) {
        RevisionInformation rev = getRevisionInformation();
        String version = getVersion();

        String user = getUserRunning();

        String jvmVersion = getJvmVersion();
        String options = getJvmStartupOptions();

        String javaHome = System.getenv("JAVA_HOME");

        long memory = getMaxJvmMemory();

        log.info("-------------------------------------------------------");
        log.info(" Starting " + componentName + " (Version: " + version + ", " + "Rev:" + rev.commitId + ", "
                + "Date:" + rev.commitDate + ")");
        log.info(" Current user: " + user);
        log.info(" JVM: " + jvmVersion);
        log.info(" Startup Options: " + options);
        log.info(" Maximum heap size: " + memory + " MiBytes");
        log.info(" JAVA_HOME: " + (javaHome == null ? "not set" : javaHome));
        log.info("-------------------------------------------------------");
    }//from   w  w w . j  av a 2s  .  c  o m
}

From source file:org.apache.ftpserver.command.APPE.java

/**
 * Execute command./*w ww  .j a v a 2s. c  o  m*/
 */
public void execute(RequestHandler handler, FtpRequestImpl request, FtpWriter out)
        throws IOException, FtpException {

    try {

        // reset state variables
        request.resetState();
        IFtpConfig fconfig = handler.getConfig();

        // argument check
        String fileName = request.getArgument();
        if (fileName == null) {
            out.send(501, "APPE", null);
            return;
        }

        // call Ftplet.onAppendStart() method
        Ftplet ftpletContainer = fconfig.getFtpletContainer();
        FtpletEnum ftpletRet = ftpletContainer.onAppendStart(request, out);
        if (ftpletRet == FtpletEnum.RET_SKIP) {
            return;
        } else if (ftpletRet == FtpletEnum.RET_DISCONNECT) {
            fconfig.getConnectionManager().closeConnection(handler);
            return;
        }

        // get filenames
        FileObject file = null;
        try {
            file = request.getFileSystemView().getFileObject(fileName);
        } catch (Exception ex) {
        }
        if (file == null) {
            out.send(550, "APPE.invalid", fileName);
            return;
        }
        fileName = file.getFullName();

        // check file existance
        if (!(file.doesExist() && file.isFile())) {
            out.send(550, "APPE.invalid", fileName);
            return;
        }

        // check permission
        if (!file.hasWritePermission()) {
            out.send(550, "APPE.permission", fileName);
            return;
        }

        // get data connection
        out.send(150, "APPE", fileName);
        InputStream is = null;
        try {
            is = request.getDataInputStream();
        } catch (IOException ex) {
            out.send(425, "APPE", fileName);
            return;
        }

        // get data from client
        boolean failure = false;
        BufferedInputStream bis = null;
        BufferedOutputStream bos = null;
        try {

            // open streams
            bis = IoUtils.getBufferedInputStream(is);
            bos = IoUtils.getBufferedOutputStream(file.createOutputStream(true));

            // transfer data
            int maxRate = handler.getRequest().getUser().getMaxUploadRate();
            long transSz = handler.transfer(bis, bos, maxRate);

            // log message
            String userName = request.getUser().getName();
            Log log = fconfig.getLogFactory().getInstance(getClass());
            log.info("File upload : " + userName + " - " + fileName);

            // notify the statistics component
            IFtpStatistics ftpStat = (IFtpStatistics) fconfig.getFtpStatistics();
            ftpStat.setUpload(handler, file, transSz);
        } catch (SocketException ex) {
            failure = true;
            out.send(426, "APPE", fileName);
        } catch (IOException ex) {
            failure = true;
            out.send(551, "APPE", fileName);
        } finally {
            IoUtils.close(bis);
            IoUtils.close(bos);
        }

        // if data transfer ok - send transfer complete message
        if (!failure) {
            out.send(226, "STOR", fileName);

            // call Ftplet.onAppendEnd() method
            ftpletRet = ftpletContainer.onAppendEnd(request, out);
            if (ftpletRet == FtpletEnum.RET_DISCONNECT) {
                fconfig.getConnectionManager().closeConnection(handler);
                return;
            }
        }
    } finally {
        request.getFtpDataConnection().closeDataSocket();
    }
}

From source file:org.apache.ftpserver.command.DELE.java

/**
 * Execute command./*  w w w .j  av a  2  s. c o  m*/
 */
public void execute(RequestHandler handler, FtpRequestImpl request, FtpWriter out)
        throws IOException, FtpException {

    // reset state variables
    request.resetState();
    IFtpConfig fconfig = handler.getConfig();

    // argument check
    String fileName = request.getArgument();
    if (fileName == null) {
        out.send(501, "DELE", null);
        return;
    }

    // call Ftplet.onDeleteStart() method
    Ftplet ftpletContainer = fconfig.getFtpletContainer();
    FtpletEnum ftpletRet = ftpletContainer.onDeleteStart(request, out);
    if (ftpletRet == FtpletEnum.RET_SKIP) {
        return;
    } else if (ftpletRet == FtpletEnum.RET_DISCONNECT) {
        fconfig.getConnectionManager().closeConnection(handler);
        return;
    }

    // get filename
    FileObject file = request.getFileSystemView().getFileObject(fileName);
    fileName = file.getFullName();

    // check file
    if (!file.isFile()) {
        out.send(550, "DELE.invalid", fileName);
        return;
    }
    if (!file.hasDeletePermission()) {
        out.send(450, "DELE.permission", fileName);
        return;
    }

    // now delete
    if (file.delete()) {
        out.send(250, "DELE", fileName);

        // log message
        String userName = request.getUser().getName();
        Log log = fconfig.getLogFactory().getInstance(getClass());
        log.info("File delete : " + userName + " - " + fileName);

        // notify statistics object
        IFtpStatistics ftpStat = (IFtpStatistics) fconfig.getFtpStatistics();
        ftpStat.setDelete(handler, file);

        // call Ftplet.onDeleteEnd() method
        ftpletRet = ftpletContainer.onDeleteEnd(request, out);
        if (ftpletRet == FtpletEnum.RET_DISCONNECT) {
            fconfig.getConnectionManager().closeConnection(handler);
            return;
        }
    } else {
        out.send(450, "DELE", fileName);
    }
}

From source file:org.apache.ftpserver.command.MKD.java

/**
 * Execute command./*from w w w  . j a  v a  2s  .  co  m*/
 */
public void execute(RequestHandler handler, FtpRequestImpl request, FtpWriter out)
        throws IOException, FtpException {

    // reset state
    request.resetState();
    IFtpConfig fconfig = handler.getConfig();

    // argument check
    String fileName = request.getArgument();
    if (fileName == null) {
        out.send(501, "MKD", null);
        return;
    }

    // call Ftplet.onMkdirStart() method
    Ftplet ftpletContainer = fconfig.getFtpletContainer();
    FtpletEnum ftpletRet = ftpletContainer.onMkdirStart(request, out);
    if (ftpletRet == FtpletEnum.RET_SKIP) {
        return;
    } else if (ftpletRet == FtpletEnum.RET_DISCONNECT) {
        fconfig.getConnectionManager().closeConnection(handler);
        return;
    }

    // get file object
    FileObject file = null;
    try {
        file = request.getFileSystemView().getFileObject(fileName);
    } catch (Exception ex) {
    }
    if (file == null) {
        out.send(550, "MKD.invalid", fileName);
        return;
    }

    // check permission
    fileName = file.getFullName();
    if (!file.hasWritePermission()) {
        out.send(550, "MKD.permission", fileName);
        return;
    }

    // check file existance
    if (file.doesExist()) {
        out.send(550, "MKD.exists", fileName);
        return;
    }

    // now create directory
    if (file.mkdir()) {
        out.send(250, "MKD", fileName);

        // write log message
        String userName = request.getUser().getName();
        Log log = fconfig.getLogFactory().getInstance(getClass());
        log.info("Directory create : " + userName + " - " + fileName);

        // notify statistics object
        IFtpStatistics ftpStat = (IFtpStatistics) handler.getConfig().getFtpStatistics();
        ftpStat.setMkdir(handler, file);

        // call Ftplet.onMkdirEnd() method
        ftpletRet = ftpletContainer.onMkdirEnd(request, out);
        if (ftpletRet == FtpletEnum.RET_DISCONNECT) {
            fconfig.getConnectionManager().closeConnection(handler);
            return;
        }
    } else {
        out.send(550, "MKD", fileName);
    }
}