Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver hur du konfigurerar loggning i Azure SDK-bibliotek för JavaScript. Genom att aktivera loggning kan du diagnostisera autentiseringsproblem, felsöka autentiseringskedjor och få insyn i SDK-åtgärder.
Om du vill aktivera loggning kan du använda något av alternativen nedan:
- 
              AZURE_LOG_LEVEL=verboseStäll in miljövariabeln för att aktivera loggning.
- Använd paketet i källkoden @azure/logger.
Giltiga loggnivåer är verbose, info, warningoch error.
Anmärkning
Azure Storage-koden som visas i den här artikeln förutsätter att lagringsresursen har konfigurerats med lämpliga Microsoft Entra-roller. Läs mer: Auktorisera åtkomst till blobar med hjälp av Microsoft Entra-ID.
Förutsättningar
- En Azure-prenumeration: Skapa en kostnadsfritt
- Node.js LTS
- Valfritt, ett utvecklarverktyg som Azure CLI som används för autentisering i en lokal utvecklingsmiljö. Om du vill skapa den nödvändiga kontexten loggar du in med Azure CLI.
Aktivera loggning med miljövariabel
Starta programmet med miljövariabeln för ett enkelt sätt att aktivera loggning.
AZURE_LOG_LEVEL=verbose node index.js
Ange miljövariabler
Du kan också lägga till miljövariabler i en .env fil i projektroten. Skapa en fil med namnet .env och lägg till följande innehåll.
AZURE_LOG_LEVEL=verbose
AZURE_CLIENT_ID=<YOUR_CLIENT_ID>
AZURE_STORAGE_ACCOUNT_NAME=<YOUR_STORAGE_ACCOUNT_NAME>
AZURE_STORAGE_CONTAINER_NAME=<YOUR_STORAGE_CONTAINER_NAME>
Aktivera loggning med loggningspaketet i källkoden
Följande kodexempel använder paketet @azure/logger för att felsöka Azure SDK-klientbiblioteken.
Konfigurera loggning för specifika tjänster
Förutom att ange en global loggnivå kan du konfigurera olika loggnivåer för specifika Azure-tjänster direkt i koden:
// Import service-specific setLogLevel functions
import { setLogLevel as setIdentityLogLevel } from "@azure/identity";
import { setLogLevel as setStorageLogLevel } from "@azure/storage-blob";
// Set different log levels for different services
setIdentityLogLevel("verbose");  // Detailed logs for identity operations
setStorageLogLevel("warning");   // Only warnings and errors for storage operations
Den här metoden ger dig detaljerad kontroll över loggning av utförlighet när du arbetar med flera Azure-tjänster i samma program.
- Skapa - index.jsmed följande kod.- import { ChainedTokenCredential, ManagedIdentityCredential, AzureCliCredential } from "@azure/identity"; import { BlobServiceClient } from "@azure/storage-blob"; import { AzureLogger, setLogLevel } from "@azure/logger"; // Check required environment variables if (!process.env.AZURE_STORAGE_ACCOUNT_NAME) { throw new Error("AZURE_STORAGE_ACCOUNT_NAME environment variable is required"); } if (!process.env.AZURE_STORAGE_CONTAINER_NAME) { throw new Error("AZURE_STORAGE_CONTAINER_NAME environment variable is required"); } // Client ID is optional and only used in production environments // No need to check for its existence // Turn on debugging for all Azure SDKs setLogLevel("verbose"); // Configure the logger to use console. AzureLogger.log = (...args)=> { console.log(...args); }; const credential = new ChainedTokenCredential( new ManagedIdentityCredential({ clientId: process.env.AZURE_CLIENT_ID }), new AzureCliCredential() ); const blobServiceClient = new BlobServiceClient( `https://${process.env.AZURE_STORAGE_ACCOUNT_NAME}.blob.core.windows.net`, credential ); // get container properties const containerClient = blobServiceClient.getContainerClient(process.env.AZURE_STORAGE_CONTAINER_NAME); async function main() { try { const properties = await containerClient.getProperties(); console.log(properties); } catch (err) { const error = err; console.error("Error retrieving container properties:", error.message); throw error; } } main().catch((err) => { console.error("Error running sample:", err.message); process.exit(1); });
- Skapa projektet och installera npm-beroendena. - npm init -y npm pkg set type=module npm install @azure/identity @azure/storage-blob @azure/logger
- Logga in på din Azure-prenumeration i din lokala miljö med Azure CLI. - az login
- Kör appen med en miljövariabelfil. Alternativet - --env-fileintroducerades i Node.js 20.6.0.- node --env-file .env index.js
- Hitta de lyckade autentiseringsuppgifterna i utdata. - ChainedTokenCredentialtillåter din kod att smidigt växla mellan autentiseringsmetoder, först försöka- ManagedIdentityCredential(för produktionsmiljöer som Azure App Service) och sedan falla tillbaka till- AzureCliCredential(för lokal utveckling), med loggar som visar vilka autentiseringsuppgifter som lyckades.
Förutsättningar
- En Azure-prenumeration: Skapa en kostnadsfritt
- Node.js LTS
- TypeScript
- Valfritt, ett autentiseringsverktyg som Azure CLI som används för autentisering i en lokal utvecklingsmiljö. Om du vill skapa den nödvändiga kontexten loggar du in med Azure CLI.
Aktivera loggning med miljövariabel
Starta programmet med miljövariabeln för ett enkelt sätt att aktivera loggning.
AZURE_LOG_LEVEL=verbose node index.js
Ange miljövariabler
Du kan också lägga till miljövariabler i en .env fil i projektroten. Skapa en fil med namnet .env och lägg till följande innehåll.
AZURE_LOG_LEVEL=verbose
AZURE_CLIENT_ID=<YOUR_CLIENT_ID>
AZURE_STORAGE_ACCOUNT_NAME=<YOUR_STORAGE_ACCOUNT_NAME>
AZURE_STORAGE_CONTAINER_NAME=<YOUR_STORAGE_CONTAINER_NAME>
Aktivera loggning med loggningspaketet i källkoden
Följande kodexempel använder paketet @azure/logger för att felsöka Azure SDK-klientbiblioteken.
Konfigurera loggning för specifika tjänster
Förutom att ange en global loggnivå kan du konfigurera olika loggnivåer för specifika Azure-tjänster direkt i koden:
// Import service-specific setLogLevel functions
import { setLogLevel as setIdentityLogLevel } from "@azure/identity";
import { setLogLevel as setStorageLogLevel } from "@azure/storage-blob";
// Set different log levels for different services
setIdentityLogLevel("verbose");  // Detailed logs for identity operations
setStorageLogLevel("warning");   // Only warnings and errors for storage operations
Den här metoden ger dig detaljerad kontroll över loggning av utförlighet när du arbetar med flera Azure-tjänster i samma program.
- Skapa - index.tsmed följande kod.- import { ChainedTokenCredential, ManagedIdentityCredential, AzureCliCredential } from "@azure/identity"; import { BlobServiceClient, ContainerGetPropertiesResponse } from "@azure/storage-blob"; import { AzureLogger, setLogLevel } from "@azure/logger"; // Check required environment variables if (!process.env.AZURE_STORAGE_ACCOUNT_NAME) { throw new Error("AZURE_STORAGE_ACCOUNT_NAME environment variable is required"); } if (!process.env.AZURE_STORAGE_CONTAINER_NAME) { throw new Error("AZURE_STORAGE_CONTAINER_NAME environment variable is required"); } // Client ID is optional and only used in production environments // No need to check for its existence // Turn on debugging for all Azure SDKs setLogLevel("verbose"); // Configure the logger to use console.log with TypeScript type safety AzureLogger.log = (...args: unknown[]): void => { console.log(...args); }; const credential = new ChainedTokenCredential( new ManagedIdentityCredential({ clientId: process.env.AZURE_CLIENT_ID }), new AzureCliCredential() ); const blobServiceClient = new BlobServiceClient( `https://${process.env.AZURE_STORAGE_ACCOUNT_NAME}.blob.core.windows.net`, credential ); // get container properties const containerClient = blobServiceClient.getContainerClient(process.env.AZURE_STORAGE_CONTAINER_NAME); async function main(): Promise<void> { try { const properties: ContainerGetPropertiesResponse = await containerClient.getProperties(); console.log(properties); } catch (err) { const error = err as Error; console.error("Error retrieving container properties:", error.message); throw error; } } main().catch((err: Error) => { console.error("Error running sample:", err.message); process.exit(1); });
- Skapa projektet och installera npm-beroendena. - npm init -y npm pkg set type=module npm install @azure/identity @azure/storage-blob @types/node @azure/logger
- Logga in på din Azure-prenumeration i din lokala miljö med Azure CLI. - az login
- Skapa programmet. - tsc
- Kör appen med en miljövariabelfil. Alternativet - --env-fileintroducerades i Node.js 20.6.0.- node --env-file .env index.js
- Hitta den lyckade autentiseringsuppgiften i utdata – - ChainedTokenCredentialtillåter att din kod smidigt växlar mellan autentiseringsmetoder, först försöker- ManagedIdentityCredential(för produktionsmiljöer som Azure App Service) och sedan faller tillbaka till- AzureCliCredential(för lokal utveckling), med loggar som visar vilka autentiseringsuppgifter som lyckades.