Por defecto Glassfish gestiona el logging a través de java.util.Logging. En este enlace se explica cómo configurarlo:
Configuring the Logging Service
Tal y cómo está montado, algo tan sencillo como modificar el formato de las trazas, requiere subir un jar propio con un Handler a medida. (
http://stackoverflow.com/questions/9609380/glassfish-3-how-do-you-change-the-default-logging-format)
Personalmente prefiero configurar Glassfish para poder utilizar Logback. Los pasos son los siguientes:
Añadir Jars
Es necesario copiar en el directorio
glassfish/lib/endorsed las últimas versiones de las siguientes librerías:
Arrancar Logback en el arranque
Abrimos el fichero "
glassfish/domains/domain1/config/domain.xml" y en la
primera sección "
java-config" añadimos:
-Dlogback.configurationFile=file:///${com.sun.aas.instanceRoot}/config/logback.xml
Configurar Logback
Creamos el fichero "
glassfish/domains/domain1/config/logback.xml" a nuestro gusto. Por ejemplo:
/opt/glassfish.log
logFile.%d{yyyy-MM-dd}.log
30
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg%n
Podríamos configurar varios appenders con varios loggers para que cada aplicación web desplegada escriba en un fichero diferente.
Loggear desde nuestra aplicación
Desde nuestra aplicación tendremos que añadir una dependencia con slf4j-api:
provided 'org.slf4j:slf4j-api:1.7.5'
Por ultimo desde nuestro código ya podemos incluir las librerías de slf4j y loggear sin problemas:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
....
private static final Logger logger = LoggerFactory.getLogger(OurClass.class);
....
logger.debug ("log message");