List of usage examples for org.apache.commons.logging Log info
void info(Object message);
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); } }