Solução de problemas de arquivos de log da AWS no IronPDF
Isolando logs do IronPDF usando o bucket S3
Ao solucionar problemas com o IronPDF em um ambiente AWS, obter logs limpos e dedicados da própria biblioteca IronPDF é extremamente benéfico. Essa abordagem ajuda a evitar as complexidades de analisar fluxos de logs mesclados de serviços como o Amazon CloudWatch Logs ou o AWS Application Insights.
Serviços como o CloudWatch Logs e o Application Insights normalmente agregam logs de várias fontes, incluindo o código do seu aplicativo, outras bibliotecas e serviços da AWS. Essa intercalação pode dificultar a identificação de mensagens específicas do IronPDF e o diagnóstico direto de problemas relacionados à geração ou manipulação de PDFs.
Para superar esses desafios, recomendamos configurar o IronPDF para gravar seus registros em um arquivo dedicado no armazenamento temporário do seu ambiente de computação AWS. Esse arquivo de log isolado pode então ser facilmente carregado para um bucket do Amazon S3 para download, revisão e compartilhamento convenientes com o suporte, se necessário.
Ativar e configurar o registro de logs do 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"
Faça o upload do arquivo de log para um bucket do 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
Para serviços de registro específicos da AWS, consulte a seguinte documentação:
Amazon CloudWatch
O serviço Amazon CloudWatch Logs permite coletar e armazenar registros de seus recursos, aplicativos e serviços em tempo quase real.
Registro adicional
Para obter mais informações sobre os logs do Amazon CloudWatch, os logs do Amazon S3 e os logs enviados para o Kinesis Data Firehose, consulte:
https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html
Serviços Comuns
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

