在IronPDF中排查 AWS 日誌檔案故障

This article was translated from English: Does it need improvement?
Translated
View the article in English

使用 S3 儲存桶隔離IronPDF日誌

在 AWS 環境中排查IronPDF問題時,從IronPDF庫本身取得乾淨、專用的日誌非常有幫助。 這種方法有助於避免從 Amazon CloudWatch Logs 或 AWS Application Insights 等服務中篩選合併日誌流的複雜性。

CloudWatch Logs 和 Application Insights 等服務通常會聚合來自各種來源的日誌,包括您的應用程式程式碼、其他程式庫和 AWS 服務。 這種交錯方式可能會使難以精確定位 IronPDF 特有的訊息,並直接診斷與 PDF 產生或操作相關的問題。

為了克服這些挑戰,我們建議將IronPDF配置為將其日誌寫入 AWS 運算環境暫存中的專用檔案。 然後,可以輕鬆將此隔離的日誌檔案上傳到 Amazon S3 儲存桶,以便於下載、查看,並在需要時與支援人員共用。

啟用並配置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";
$vbLabelText   $csharpLabel

將日誌檔案上傳到 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);
}
$vbLabelText   $csharpLabel

有關 AWS 特定日誌記錄服務,請參閱以下文件:

Amazon CloudWatch

Amazon CloudWatch Logs 服務可讓您近乎即時地收集和儲存來自您的資源、應用程式和服務的日誌。

附加日誌記錄

有關 Amazon CloudWatch Logs、Amazon S3 Logs 和發送到 Kinesis Data Firehose 的日誌的更多信息,請參閱:

https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html

公共服務

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

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 17,803,474 | 版本: 2026.3 剛剛發布
Still Scrolling Icon

還在滾動嗎?

想快速取得證據? PM > Install-Package IronPdf
運行範例看著你的HTML程式碼變成PDF檔。