Logging Configuration
Nuxeo logging is compliant with common Java logging frameworks Log4J, SLF4J and JUL.
Logging in Nuxeo is configured through a Log4J XML file: $NUXEO_HOME/lib/log4j.xml
Editing that file, you can set the logging rules (log level per file and component, files rotation, ...).
Log4J log levels are: ERROR, WARN, INFO, DEBUG and TRACE.
You can increase or decrease the logs for specific services. Here are some useful categories:
org.nuxeo.runtime.deployment.preprocessor.DeploymentPreprocessor
logs the pre-processing order,org.nuxeo.osgi.application.loader.FrameworkLoader
writes the configuration summary,org.nuxeo.runtime.osgi.OSGiRuntimeService
provides the final startup summary.
Related pages:
- Log4J
- How to change the JBoss log files rotation
- Where Are the Log and Configuration Files in Windows?
Log Files
The log files location depends on the nuxeo.log.dir
parameter. By default, Nuxeo generates the following log files (also available from the platform Admin tab and the Control Panel):
Launcher logs
- nuxeoctl.log Logs activity from NuxeoCtl.
- console.log Logs output written to the console (stdout).
Server logs
- server.log Server logs.
- nuxeo-error.log Gathers errors raised to the user.
- stderr.log Gathers errors written to the console (stderr).
- classloader.log Gathers class loading errors from Catalina.
- tomcat.log Gathers Tomcat logs.
Tomcat Specific
The following information is for debug purpose, it may have impacts on performance and logging files size
$NUXEO_HOME/conf/logging.properties
has no effect; you can safely remove it.
Because Tomcat uses java.util.logging
of which Log4J is not aware, Tomcat logs (org.apache.catalina.*
) have to be redirected to Apache Commons Logging (compliant with Log4J).
Nuxeo provides a bridge for that redirection (in org.nuxeo.common.logging.JavaUtilLoggingHelper
) with a default threshold set at INFO level. You can customize it by adding into nuxeo.conf
:
JAVA_OPTS=$JAVA_OPTS -Dorg.nuxeo.runtime.redirectJUL.threshold=CONFIG
But that redirection is only available after Nuxeo Framework initialization whereas most of the startup logs from org.apache.catalina
happen before (when the redirection is not yet active).
Note also that FINER and FINEST logs will be ignored anyway.
Common Logs
Here are descriptions of the most common logs coming from Nuxeo or its third-parties. The list is not exhaustive but aims at helping to understand the most common logs you may encounter while using the Nuxeo Platform. If you don't find what you need here, you can check answers.nuxeo.com if someone already asked about it. You can also search the web about third parties logs if they are not in this list.
Level | Source Message | Cause |
---|---|---|
Cannot set databaseTransactionEnabled attribute to false for model publication, other models already exist with value true
| Not a problem. The databaseTransactionEnabled is a Jena issue. | |
Oracle 11g is not yet fully supported; using 10g dialect
| Not a problem. Because not using the latest Hibernate version. It's not a problem either given the SQL generated by Nuxeo. | |
WARN |
org.hibernate.ejb.Ejb3Configuration (org.hibernate:hibernate-entitymanager)
Overriding hibernate.transaction.factory_class is dangerous, this might break the EJB3 specification implementation
| Not a problem. Generated by Hibernate and can be ignored. This is voluntarily done and is under control. |
WARN |
org.jboss.seam.core.Init (org.jboss.seam:jboss-seam)
The built-in interceptor org.jboss.seam.persistence.EntityManagerProxyInterceptor is missing. This application may not function as expected
Similar messages with: org.jboss.seam.bpm.BusinessProcessInterceptor , org.jboss.seam.core.BijectionInterceptor , org.jboss.seam.webservice.WSSecurityInterceptor , org.jboss.seam.security.SecurityInterceptor .
| Not a problem. Some unneeded built-in interceptors are removed for performance reasons. |
WARN |
org.jboss.seam.Component (org.jboss.seam:jboss-seam)
Component class should be serializable: org.jboss.seam.ui.facelet.mockHttpSession
| Third-party issue. Seam provides a non-serializable component and then warns about it. Even if we don't use it, it's still part of the default Seam JARs. |
WARN |
org.nuxeo.ecm.core.search.api.client.querymodel.QueryModelService (org.nuxeo.ecm.platform:nuxeo-platform-search-api)
Query models are deprecated as of Nuxeo 5.4 and will be removed for Nuxeo 6.0: the query model '...' should be upgraded to use content views
| Use of deprecated API. See Javadoc. |
WARN |
org.nuxeo.ecm.webapp.pagination.ResultsProviderService (org.nuxeo.ecm.platform:nuxeo-platform-webapp-base)
Result providers are deprecated as of Nuxeo 5.4 and will be removed for Nuxeo 6.0: the result provider '...' should be upgraded to use content views
| Use of deprecated API. See Javadoc. |
WARN |
org.nuxeo.theme.styling.service.ThemeStylingServiceImpl (org.nuxeo.theme:nuxeo-theme-styling)
Style unknown: helpers
| |
WARN |
org.artofsolving.jodconverter.office.OfficeProcess (org.artofsolving.jodconverter:jodconverter-core)
Restarting OOo after code 81 ...
| See jodconverter issue 84. |
WARN |
org.artofsolving.jodconverter.office.StreamGobbler (org.artofsolving.jodconverter:jodconverter-core)
StreamGobbler: Fontconfig warning: "/usr/lib/libreoffice/share/fonts/truetype/fc_local.conf", line 13: Having multiple <family> in <alias> isn't supported and may not works as expected
| |
WARN |
org.jboss.seam.init.Initialization (org.jboss.seam:jboss-seam)
namespace declared in components.xml does not resolve to a package:
| |
WARN |
org.jboss.seam.security.permission.PersistentPermissionResolver (org.jboss.seam:jboss-seam)
no permission store available - please install a PermissionStore with the name 'org.jboss.seam.security.jpaPermissionStore' if persistent permissions are required.
| |
WARN |
org.nuxeo.ecm.core.api.TransactionalCoreSessionWrapper (org.nuxeo.ecm.core:nuxeo-core)
Session invoked in a container without a transaction active: turn on debug logs for more information about the faulty call.
| See NXP-7170 upgrade notes. |