Dépannage des fichiers journaux AWS dans IronPDF
Isolation des journaux IronPDF en utilisant un S3 Bucket
Lors du dépannage des problèmes avec IronPDF dans un environnement AWS, obtenir des journaux propres et dédiés de la bibliothèque IronPDF elle-même est très bénéfique. Cette approche permet d'éviter la complexité du tri des flux de journaux fusionnés provenant de services comme Amazon CloudWatch Logs ou AWS Application Insights.
Les services comme CloudWatch Logs et Application Insights agrègent généralement les journaux de diverses sources, y compris le code de votre application, d'autres bibliothèques et les services AWS. Cet entrelacement peut rendre difficile la localisation des messages spécifiques à IronPDF et le diagnostic des problèmes liés à la génération ou à la manipulation de PDF directement.
Pour surmonter ces défis, nous recommandons de configurer IronPDF pour écrire ses journaux dans un fichier dédié au sein du stockage temporaire de votre environnement de calcul AWS. Ce fichier journal isolé peut ensuite être facilement téléchargé dans un seau Amazon S3 pour un téléchargement, une révision et un partage pratiques avec le support si nécessaire.
Activer et configurer la journalisation d'IronPDF
var awsTmpPath = @"/tmp/";
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.All;
IronSoftware.Logger.LogFilePath = awsTmpPath + "default.txt";
var awsTmpPath = @"/tmp/";
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.All;
IronSoftware.Logger.LogFilePath = awsTmpPath + "default.txt";
Dim awsTmpPath = "/tmp/"
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.All
IronSoftware.Logger.LogFilePath = awsTmpPath & "default.txt"
Téléchargez le fichier journal dans un bucket Amazon S3
// File path in the Lambda /tmp directory
var filePath = $"/tmp/default.txt";
// Read the file as byte array
var fileBytes = await File.ReadAllBytesAsync(filePath);
// Upload the text file to S3
using (var memoryStream = new MemoryStream(fileBytes))
{
var request = new PutObjectRequest
{
BucketName = bucketName,
Key = "default.txt",
InputStream = memoryStream,
ContentType = "text/plain",
};
await _s3Client.PutObjectAsync(request);
}
// File path in the Lambda /tmp directory
var filePath = $"/tmp/default.txt";
// Read the file as byte array
var fileBytes = await File.ReadAllBytesAsync(filePath);
// Upload the text file to S3
using (var memoryStream = new MemoryStream(fileBytes))
{
var request = new PutObjectRequest
{
BucketName = bucketName,
Key = "default.txt",
InputStream = memoryStream,
ContentType = "text/plain",
};
await _s3Client.PutObjectAsync(request);
}
' File path in the Lambda /tmp directory
Dim filePath = $"/tmp/default.txt"
' Read the file as byte array
Dim fileBytes = Await File.ReadAllBytesAsync(filePath)
' Upload the text file to S3
Using memoryStream As New MemoryStream(fileBytes)
Dim request = New PutObjectRequest With {
.BucketName = bucketName,
.Key = "default.txt",
.InputStream = memoryStream,
.ContentType = "text/plain"
}
Await _s3Client.PutObjectAsync(request)
End Using
Pour les services de journalisation spécifiques à AWS, veuillez consulter la documentation suivante :
Amazon CloudWatch
Le service Amazon CloudWatch Logs vous permet de collecter et de stocker des journaux de vos ressources, applications et services en quasi temps réel.
Journalisation supplémentaire
Pour plus d'informations sur Amazon CloudWatch Logs, Amazon S3 Logs, et les journaux envoyés à Kinesis Data Firehose, veuillez voir :
https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html
Services communs
AWS Lambda
https://docs.aws.amazon.com/lambda/latest/dg/monitoring-cloudwatchlogs.html
Amazon EC2
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html

