Registro con Azure SDK para Java y Log4j
En este artículo se proporciona información general sobre cómo agregar el registro con Log4j a aplicaciones que usan Azure SDK para Java. Como se menciona en Configuración del registro en Azure SDK para Java, todas las bibliotecas cliente Azure crean sus registros mediante SLF4J, por lo que puede usar plataformas de registro como Log4j.
En este artículo se proporcionan instrucciones para usar las versiones de Log4J 2.x, pero Log4J 1.x es igualmente compatible con Azure SDK para Java. Para habilitar el registro de Log4J, debe hacer dos cosas:
- Incluir la biblioteca de Log4j como una dependencia.
- Crear un archivo de configuración (ya sea log4j2.properties o log4j2.xml) en el directorio de proyecto /src/main/resources.
Para más información relacionada con la configuración de Log4J, consulte Bienvenido a Log4j 2.
Adición de la dependencia de Maven
Para agregar la dependencia de Maven, incluya el siguiente código XML en el archivo pom.xml del proyecto. Reemplace el número de versión 2.16.0 por el número de versión más reciente publicado que se muestra en la página Enlace de SLF4J de Apache Log4j.
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.16.0</version>
</dependency>
Nota:
Debido a una vulnerabilidad conocida CVE-2021-44228, asegúrese de usar Log4j versión 2.16 o posterior.
Configuración de Log4j
Hay dos formas habituales de configurar Log4j: por medio de un archivo de propiedades externo o por medio de un archivo XML externo. A continuación se describen ambas opciones.
Uso de un archivo de propiedades
Puede colocar un archivo de propiedades planos denominado log4j2.properties en el directorio /src/main/resources del proyecto. Este archivo debe tener el formato siguiente:
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d %5p [%t] %c{3} - %m%n
logger.app.name = com.azure.core
logger.app.level = ERROR
rootLogger.level = info
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT
Uso de un archivo XML
Puede colocar un archivo XML denominado log4j2.xml en el directorio /src/main/resources del proyecto. Este archivo debe tener el formato siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %5p [%t] %c{3} - %m%n" />
</Console>
</Appenders>
<Loggers>
<Logger name="com.azure.core" level="error" additivity="true">
<appender-ref ref="console" />
</Logger>
<Root level="info" additivity="false">
<appender-ref ref="console" />
</Root>
</Loggers>
</Configuration>
Pasos siguientes
En este artículo se ha tratado la configuración de Log4j y cómo hacer que el Azure SDK para Java lo use para el registro. Dado que Azure SDK para Java funciona con todos los marcos de registro de SLF4J, considere la posibilidad de revisar el manual del usuario de SLF4J para más detalles. Si utiliza Log4j, también puede encontrar una gran cantidad de instrucciones de configuración en su sitio web. Para obtener más información, consulte la página de bienvenida a Log4j 2.
Después de conocer el registro, puede que le interese examinar las integraciones que ofrece Azure en marcos de trabajo como Spring y MicroProfile.