Registro con SDK de Azure para Java y Log4j

En este artículo se muestra cómo configurar Log4j para las aplicaciones que usan el SDK de Azure para Java. Como se mencionó en Configure logging in the SDK de Azure for Java, todas las bibliotecas cliente de Azure usan SLF4J para el registro, por lo que puede usar marcos como Log4j 2 para simplificar la solución de problemas.

En este artículo se proporcionan instrucciones para usar las versiones de Log4J 2.x, pero el SDK de Azure para Java también admite Log4J 1.x. Para habilitar el registro log4j, complete estos dos pasos:

  1. Incluya la biblioteca log4j como una dependencia.
  2. Cree un archivo de configuración (log4j2.properties o log4j2.xml) en el directorio del proyecto /src/main/resources .

Para obtener más información sobre cómo configurar log4j, consulte Bienvenido a Log4j 2.

Adición de la dependencia de Maven

Para agregar la dependencia de Maven, incluya el siguiente 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 que se muestra en la página Enlace de Log4j SLF4J de Apache.

<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

Puede configurar Log4j de dos maneras comunes: a través de un archivo de propiedades externos o a través de un archivo XML externo. En las secciones siguientes se describen estos enfoques.

Uso de un archivo de propiedades

Coloque un archivo de propiedades planos denominado log4j2.properties en el directorio /src/main/resources del proyecto. Este archivo debe tener la siguiente forma:

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

Usar un archivo XML

Coloque un archivo XML denominado log4j2.xml en el directorio /src/main/resources del proyecto. El archivo debe seguir esta estructura:

<?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 SDK de Azure para Java lo use para el registro. Dado que el SDK de Azure para Java funciona con todos los marcos de registro de SLF4J, considere la posibilidad de revisar los manuales de instrucción de SLF4J para obtener más detalles. Si usa Log4j, también hay una gran cantidad de instrucciones de configuración en su sitio web. Para obtener más información, consulte Bienvenido a Log4j 2.

Después de dominar el registro, considere la posibilidad de examinar las integraciones que Azure ofrece en marcos como Spring.