Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt uitgelegd hoe u logboekregistratie configureert in Azure SDK-bibliotheken voor JavaScript. Door logboekregistratie in te schakelen, kunt u verificatieproblemen vaststellen, referentieketens oplossen en inzicht krijgen in SDK-bewerkingen.
Als u logboekregistratie wilt inschakelen, kunt u een van de onderstaande opties gebruiken:
- Stel de
AZURE_LOG_LEVEL=verboseomgevingsvariabele in om logboekregistratie in te schakelen. - Gebruik het
@azure/loggerpakket in uw broncode.
Geldige logboekniveaus zijn onder andere verbose, info, warningen error.
Opmerking
In de Azure Storage-code die in dit artikel wordt weergegeven, wordt ervan uitgegaan dat de opslagresource is geconfigureerd met de juiste Microsoft Entra-rollen. Meer informatie: Toegang tot blobs autoriseren met behulp van Microsoft Entra-id.
Vereiste voorwaarden
- Een Azure-abonnement: maak er gratis een
- Node.js LTS
- Optioneel, een hulpprogramma voor ontwikkelaars, zoals Azure CLI dat wordt gebruikt voor verificatie in een lokale ontwikkelomgeving. Meld u aan met de Azure CLI om de benodigde context te maken.
Logboekregistratie met omgevingsvariabele inschakelen
Start de toepassing met de omgevingsvariabele voor een eenvoudige manier om logboekregistratie in te schakelen.
AZURE_LOG_LEVEL=verbose node index.js
Omgevingsvariabelen instellen
U kunt ook omgevingsvariabelen toevoegen aan een .env bestand in de hoofdmap van uw project. Maak een bestand met de naam .env en voeg de volgende inhoud toe.
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>
Logboekregistratie met logboekregistratiepakket in broncode inschakelen
In het volgende codevoorbeeld wordt het pakket @azure/logger gebruikt om fouten op te sporen in de Azure SDK-clientbibliotheken.
Logboekregistratie configureren voor specifieke services
Naast het instellen van een globaal logboekniveau kunt u verschillende logboekniveaus voor specifieke Azure-services rechtstreeks in uw code configureren:
// 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
Met deze benadering hebt u gedetailleerde controle over de uitgebreidheid van logboekregistratie bij het werken met meerdere Azure-services in dezelfde toepassing.
Maak
index.jsmet de volgende code.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); });Maak het project en installeer de npm-afhankelijkheden.
npm init -y npm pkg set type=module npm install @azure/identity @azure/storage-blob @azure/loggerMeld u aan bij uw Azure-abonnement in uw lokale omgeving met Azure CLI.
az loginVoer de app uit met een omgevingsvariabelebestand. De
--env-fileoptie is geïntroduceerd in Node.js 20.6.0.node --env-file .env index.jsZoek de geslaagde referentie in de uitvoer.
ChainedTokenCredentialhiermee kan uw code naadloos schakelen tussen verificatiemethoden, eerst proberenManagedIdentityCredential(voor productieomgevingen zoals Azure App Service) en vervolgens terugkeren naarAzureCliCredential(voor lokale ontwikkeling), met logboeken die aangeven welke referentie is geslaagd.
Vereiste voorwaarden
- Een Azure-abonnement: maak er gratis een
- Node.js LTS
- TypeScript
- Optioneel, een verificatieprogramma zoals Azure CLI dat wordt gebruikt voor verificatie in een lokale ontwikkelomgeving. Meld u aan met de Azure CLI om de benodigde context te maken.
Logboekregistratie met omgevingsvariabele inschakelen
Start de toepassing met de omgevingsvariabele voor een eenvoudige manier om logboekregistratie in te schakelen.
AZURE_LOG_LEVEL=verbose node index.js
Omgevingsvariabelen instellen
U kunt ook omgevingsvariabelen toevoegen aan een .env bestand in de hoofdmap van uw project. Maak een bestand met de naam .env en voeg de volgende inhoud toe.
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>
Logboekregistratie met logboekregistratiepakket in broncode inschakelen
In het volgende codevoorbeeld wordt het pakket @azure/logger gebruikt om fouten op te sporen in de Azure SDK-clientbibliotheken.
Logboekregistratie configureren voor specifieke services
Naast het instellen van een globaal logboekniveau kunt u verschillende logboekniveaus voor specifieke Azure-services rechtstreeks in uw code configureren:
// 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
Met deze benadering hebt u gedetailleerde controle over de uitgebreidheid van logboekregistratie bij het werken met meerdere Azure-services in dezelfde toepassing.
Maak
index.tsmet de volgende code.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); });Maak het project en installeer de npm-afhankelijkheden.
npm init -y npm pkg set type=module npm install @azure/identity @azure/storage-blob @types/node @azure/loggerMeld u aan bij uw Azure-abonnement in uw lokale omgeving met Azure CLI.
az loginBouw de toepassing.
tscVoer de app uit met een omgevingsvariabelebestand. De
--env-fileoptie is geïntroduceerd in Node.js 20.6.0.node --env-file .env index.jsZoek de geslaagde referentie in de uitvoer: de
ChainedTokenCredentialcode kan naadloos schakelen tussen verificatiemethoden, eerst proberenManagedIdentityCredential(voor productieomgevingen zoals Azure App Service) en vervolgens terugkeren naarAzureCliCredential(voor lokale ontwikkeling), met logboeken die laten zien welke referenties zijn geslaagd.