IRONSOFTWAREHOME
GELIŞTIRICI GÜNCELLEMELERI

C# Günlük Kaydı (Geliştiriciler için Nasıl Çalışır)

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Jacob Mellor
Updated: 28 Haziran 2026

Logging, özellikle C# gibi dillerde yazılım geliştirmenin hayati bir parçasıdır. Geliştiricilerin bir programın yürütülmesi sırasında meydana gelen olayları takip etmesine yardımcı olur, bu da onun davranışını anlamayı ve sorunları teşhis etmeyi kolaylaştırır. Bu kılavuz, İleri PDF Manipülasyon Özellikleri İçin IronPDF ve C# logging'inin tüm yönlerini, temel kavramlardan gelişmiş logging yapılandırmaları ve araçlarına kadar ele alacak. Uygulamalarınızdaki logging yapılandırması üzerinde kapsamlı bir anlayış ve kontrol sağlar.

Understanding Logging in C#

Temel olarak, C#'da logging, yazılım çalışırken hakkında bilgi kaydetmeyi içerir. Bu kayıtlar veya log mesajları, log dosyalarında veya diğer ortamlarda saklanır ve hata mesajları, yazılımın durumu hakkında bilgiler veya hata ayıklama mesajları gibi verileri içerebilir. Logging'in amacı, uygulamanın işletimi hakkında bilgileri kalıcı bir formatta yakalama yolu sağlamaktır. Bu bilgi, sorunların giderilmesi, yazılım performansının izlenmesi ve uygulamanın beklenen şekilde çalışmasını sağlama açısından paha biçilmezdir. Bu, yapılandırma dosyası, logging API, logging yapılandırması, yapılandırılmış loglar ve log istisnalarını içerir.

Log Mesajları Yazma

C#'da logging başlatmak için, geliştiricilerin uygulamaları içinde log mesajları yazmaları gerekir. Bu, bir logging framework'ü veya API kullanarak yapılır. C#'da popüler bir seçim, Microsoft.Extensions.Logging isim alanında kullanılabilir olan Microsoft'un ILogger arabirimidir. Bu arabirim, çeşitli önem seviyelerinde veri loglamak için basit bir yol sağlar, bunlar log seviyeleri olarak bilinir. Bu seviyeler, Bilgilendirme, Hata Ayıklama ve Hata gibi, kaydedilen mesajların ciddiyetine göre log çıktısını kategorize etmeye ve filtrelemeye yardımcı olur.

using Microsoft.Extensions.Logging;

public class Program
{
    static void Main(string[] args)
    {
        // Create a logger instance with console output
        ILogger logger = LoggerFactory.Create(builder => 
        {
            builder.AddConsole(); // Add console as a logging target
        }).CreateLogger<Program>();

        // Log messages with different levels of severity
        logger.LogInformation("This is an information log message");
        logger.LogError("This is an error log message");
    }
}

Yukarıdaki örnekte, logger adlı ILogger nesnesi, log mesajlarını konsola çıkış olarak ayarlamıştır. Bu kurulum basittir ancak log mesajlarının nasıl üretildiğini ve görüntülendiğini anlamanıza yardımcı olması açısından temel teşkil eder.

C# Günlükleme (Geliştiriciler İçin Nasıl Çalışır): Şekil 1 - Günlük mesajları ile örnek konsol çıktısı

Log Dosyaları ve Sağlayıcılar

Gerçek dünyada bir uygulamada, log mesajlarını daha sonra incelemek üzere bir dosyada veya başka bir depolama sisteminde saklamanız gerekebilir. Bu, logging sağlayıcıların öne çıktığı yerdir. Sağlayıcılar, log verilerini dosyalar, veritabanları veya harici hizmetler gibi çeşitli hedeflere çıkış yapmak için logging framework'ünün bileşenleridir.

Örneğin, bir dosyayla log mesajlarını yazacak bir logger yapılandırmak için FileLoggerProvider gibi dosya tabanlı bir sağlayıcı kullanabilirsiniz. Bu, uygulamanın yapılandırma dosyasını (çoğunlukla .NET uygulamalarında appsettings.json olarak) log dosya yolu ve minimum log seviyesi gibi ayrıntılar belirtmek için değiştirmenizi gerektirir.

{
  "Logging": {
    "LogLevel": {
      "Default": "Information", // Log levels for the application
      "Microsoft": "Warning"   // Log levels for Microsoft libraries
    },
    "File": {
      "Path": "logs/myapp.log" // File path for the log file
    }
  }
}
JSON

Yapılandırma, tüm varsayılan logging'in 'Information' seviyesinde olması gerektiğini belirler, ancak Microsoft'un kitaplıkları yalnızca uyarıları ve üzerindekileri kaydetmelidir. Ayrıca bir logs dizininde myapp.log adlı bir log dosyasına logging çıktısını yönlendirir.

İleri Logging Teknikleri

Temel log mesajlarının ötesinde, C# yapılandırılmış logging'i destekler. Bu, yalnızca metin yerine loglarınıza yapılandırılmış veri eklemenize izin verir. Yapılandırılmış logging, her bir bağlamsal bilgi parçası ayrı bir alan olarak depolandığı için log verilerini arama ve analiz etmeyi kolaylaştırır.

// Log message with structured data
logger.LogDebug("Processing order {OrderId} at {Timestamp}", orderId, DateTime.UtcNow);

Bu yapılandırılmış log örneğinde, OrderId ve Timestamp mesaj şablonu içerisindeki yer tutuculardır ve sırasıyla orderId ve DateTime.UtcNow değerleri ile doldurulacaktır. Bu, geleneksel loglamadan daha güçlüdür çünkü her log girişindeki spesifik alanlara göre log verilerinin sorgulanmasını ve işlenmesini kolaylaştırır.

Harici Sistemlerle Entegrasyon

C# logging, log verisinin yönetimini ve analizini geliştiren, SQL Server veya Windows Event Log gibi harici sistemlerle entegre edilebilir. Özel logging sağlayıcıları kullanarak, log mesajları bu sistemlere yönlendirilebilir, hata izleme ve yanıt için daha sağlam yetenekler sağlar.

// Direct log output to the Windows Event Log under a specific source name
builder.AddEventLog(new EventLogSettings
{
    SourceName = "MyApplication"
});

Bu yapılandırma snippet'i, log çıktısını "MyApplication" kaynak ismi altında Windows Olay Günlüğü'ne yönlendirir. Bu, özellikle Windows sunucularında çalışan ve Olay Günlüğü'nün yazılım ve sistem mesajlarını izlemek için merkezi bir araç olduğu uygulamalar için kullanış,

IronPDF'i C# Günlükleme ile Entegre Etme

C# Günlükleme (Geliştiriciler İçin Nasıl Çalışır): Şekil 2 - IronPDF ana sayfası

IronPDF'i HTML'den PDF Dönüşümü İçin Daha Fazla Öğrenin geliştiricilerin PDF oluşturmasını, işlemesini ve oluşturmasını sağlayan bir .NET PDF kütüphanesidir. Raporlar, faturalar ve diğer doküman türlerini web içeriğinden yaratmak için HTML'den PDF'e dönüştürür. IronPDF, metin ve resim düzenlemesi, belgeleri güvence altına alma, hatta içerik çıkarma gibi çeşitli PDF ile ilgili görevlere hitap eden kapsamlı bir özellik seti sunar.

IronPDF'i C# logging ile birleştirmek, PDF dosyaları ile çalışırken hata yönetimini ve hata ayıklamayı geliştirir. Logging entegrasyonuyla, PDF oluşturma sürecini izleyebilir ve ortaya çıkan herhangi bir sorun veya istisnayı yakalayabilirsiniz. Bu entegrasyon, PDF oluşturmanın bir uygulamanın işlevselliğinin kritik bir parçası olduğu, örneğin kullanıcı verilerine dayalı dinamik rapor oluşturma gibi senaryolarda özellikle yararlıdır.

Kod Örneği

IronPDF'i C# logging yanında kullanmak için, PDF işlemleri içinde logging çağrıları dahil etmeniz gerekecek. İşte bu iki teknolojiyi bir .NET uygulamasında nasıl entegre edebileceğiniz üzerinde bir örnek. Bu örnek, Microsoft.Extensions.Logging içindeki ILogger arabirimi kullandığınızı varsaymaktadır.

using IronPdf;
using Microsoft.Extensions.Logging;
using System;

public class PdfGenerator
{
    private readonly ILogger _logger;

    public PdfGenerator(ILogger<PdfGenerator> logger)
    {
        _logger = logger;
    }

    public void CreatePdfFromHtml(string htmlContent, string outputPath)
    {
        try
        {
            // Initialize PDF renderer
            var renderer = new ChromePdfRenderer();
            
            // Convert HTML content to PDF
            var pdf = renderer.RenderHtmlAsPdf(htmlContent);
            
            // Save the generated PDF to a file
            pdf.SaveAs(outputPath);
            
            // Log the success of PDF creation
            _logger.LogInformation("PDF created successfully at {OutputPath}", outputPath);
        }
        catch (Exception ex)
        {
            // Log any errors encountered during PDF creation
            _logger.LogError(ex, "Error creating PDF from HTML");
        }
    }
}

// Usage example
public class Program
{
    static void Main(string[] args)
    {
        // Set the license key for IronPDF, if applicable
        License.LicenseKey = "License-Key";
        
        // Create a logger factory to manage logging configurations
        ILoggerFactory loggerFactory = LoggerFactory.Create(builder =>
        {
            builder.AddConsole(); // Enable logging to the console
        });
        
        // Create a logger for the PdfGenerator class
        ILogger<PdfGenerator> logger = loggerFactory.CreateLogger<PdfGenerator>();
        
        // Instantiate the PDF generator
        PdfGenerator pdfGenerator = new PdfGenerator(logger);
        
        // Example HTML content and output path
        string htmlContent = "<h1>Hello, PDF!</h1><p>This is a simple PDF generated from HTML.</p>";
        string outputPath = "output.pdf";
        
        // Create a PDF from the provided HTML content
        pdfGenerator.CreatePdfFromHtml(htmlContent, outputPath);
    }
}

C# Günlükleme (Geliştiriciler İçin Nasıl Çalışır): Şekil 3 - IronPDF ile entegre edildikten sonra bilgi seviyesindeki günlük mesajlarını gösteren konsol çıktısı

Bu kurulum, HTML'den PDF'ler üretilmesini kolaylaştırdığı gibi aynı zamanda bu işlemin loglar aracılığıyla iyi belgelenmesini sağlar, bu da bakım ve sorun gidermeyi destekler. IronPDF ile logging entegrasyonu, uygulamanızın PDF işleme yeteneklerinin güvenilirliğini ve izlenebilirliğini önemli ölçüde artırabilir.

Sonuç

C#'da logging, uygulamanızın işletimi hakkında ayrıntılı bilgi yakalamak için esnek ve güçlü bir yol sunar. Farklı logging seviyeleri kullanarak, çeşitli sağlayıcılar yapılandırarak ve yapılandırılmış logging uygulayarak, geliştiriciler uygulamalarının sürdürülebilirliğini ve hata ayıklanabilirliğini geliştiren kapsamlı bir logging sistemi oluşturabilir.

IronPDF'i Ücretsiz Deneme ile Deneyin başlayarak $999.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ve NASA, Tesla ve dünya genelindeki devlet kurumlarına hizmet etmektedir.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez