Clientseitige Protokollierung mit der Azure Storage-Clientbibliothek für Java

Anweisungen zum Installieren der Binärdateien für die Azure Storage-Clientbibliotheken in Ihrem Java-Projekt finden Sie in der Infodatei für das Projekt auf GitHub: https://github.com/Azure/azure-storage-java. In dieser Datei werden alle Abhängigkeiten dokumentiert, die Sie installieren müssen.

Sie müssen die optionale SLF4J-Abhängigkeit installieren, wenn Sie planen, clientseitige Protokollierung zu verwenden. SLF4J ist eine Protokollierungsfassade, mit der Sie viele gängige Java-Protokollierungsframeworks problemlos über eine Clientanwendung verwenden können: Weitere Informationen zu SLF4J finden Sie im SLF4J-Benutzerhandbuch. Um einen einfachen Test zur Verwendung von SLF4J mit dem Speicher-SDK zu erstellen, platzieren Sie die JAR-Dateien slf4j-api und slf4j-simple im Buildpfad für Ihr Speicherclientprojekt. Alle Speicherprotokollmeldungen werden anschließend an die Konsole weitergeleitet.

Der folgende Java-Beispielcode zeigt, wie die Speicherclientprotokollierung standardmäßig deaktiviert wird, indem die statische Methode setLoggingEnabledByDefault aufgerufen wird. Anschließend wird ein OperationContext-Objekt zum Aktivieren der Protokollierung für eine bestimmte Anforderung verwendet:

// Set logging off by default.  
OperationContext.setLoggingEnabledByDefault(false);  
OperationContext ctx = new OperationContext();  
ctx.setLoggingEnabled(true);  
  
// Create an operation to add a new customer to the people table.  
TableOperation insertCustomer1 = TableOperation.insertOrReplace(customer1);  
  
// Submit the operation to the table service.  
table.execute(insertCustomer1, null, ctx);  
  

Das folgende Beispiel zeigt die Protokollmeldungen, die slf4j-simple in die Konsole schreibt:

[main] INFO ROOT - {ceba5ec6...}: {Starting operation.}  
[main] INFO ROOT - {ceba5ec6...}: {Starting operation with location 'PRIMARY' per location mode 'PRIMARY_ONLY'.}  
[main] INFO ROOT - {ceba5ec6...}: {Starting request to 'http://storageaccountname2.table.core.windows.net/people(PartitionKey='Harp',RowKey='Walter')' at 'Tue, 08 Jul 2014 15:07:43 GMT'.}  
[main] INFO ROOT - {ceba5ec6...}: {Writing request data.}  
[main] INFO ROOT - {ceba5ec6...}: {Request data was written successfully.}  
[main] INFO ROOT - {ceba5ec6...}: {Waiting for response.}  
[main] INFO ROOT - {ceba5ec6...}: {Response received. Status code = '204', Request ID = '8f6ce566-3760-4733-a8da-a090e642286a', Content-MD5 = 'null', ETag = 'W/"datetime'2014-07-08T15%3A07%3A41.1177234Z'"'.}  
[main] INFO ROOT - {ceba5ec6...}: {Processing response headers.}  
[main] INFO ROOT - {ceba5ec6...}: {Response headers were processed successfully.}  
[main] INFO ROOT - {ceba5ec6...}: {Processing response body.}  
[main] INFO ROOT - {ceba5ec6...}: {Response body was parsed successfully.}  
[main] INFO ROOT - {ceba5ec6...}: {Operation completed.}  
  

Die GUID (ceba5ec6... im Beispiel) ist die Clientanforderungs-ID, die dem Speichervorgang von der clientseitigen Speicherbibliothek zugewiesen wird.