C# ile Özel Günlük Kaydı Nasıl Kullanılır

How to use Custom Logging in C

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

C# içinde özel loglama, uygulamaya özgü olayları ve mesajları yakalayan özel bir loglama sistemi oluşturmanıza olanak tanır. IronPDF ile, LoggingMode değerini Custom olarak ayarlayıp logger uygulamanızı atayarak tüm PDF işleme günlüklerini özel logger'ınıza yönlendirebilirsiniz. Bu özellik, NLog, Serilog, log4net veya özel bir çözüm kullanıyor olsanız da, IronPDF'nin detaylı loglama çıktısını mevcut loglama altyapınızla entegre etmenizi sağlar.

Özel loglama, birden fazla bileşenden logları merkezi hale getirmek, özel format uygulamak, ciddiyet seviyelerine göre filtrelemek veya dosyalar, veritabanları veya izleme hizmetleri gibi belirli yerlere logları yönlendirmek gerektiğinde değerlidir. IronPDF ile özel loglamayı uygulayarak, PDF oluşturma ve işleme olaylarının uygulamanızda nasıl izlendiği üzerinde tam kontrol sağlarsınız.

Hızlı Başlangıç: IronPDF ile Özel Loglama Uygulayın

IronPDF kullanarak C#'da özel loglama ile başlayın. Bu kılavuz, LoggingMode öğesini Custom olarak ayarlamayı ve bunu logger sınıfınızla bağlamayı gösterir. IronPDF mesajlarını uygulama loglarını izlemek ve yönetmek için özel logunuza yönlendirin. Kurulum basittir ve uygulamanızın log yeteneklerini artırır. IronPDF'nin özelliklerinin kapsamlı bir özetini görmek için Hızlı Başlangıç Kılavuzumuzu inceleyin.

  1. IronPDF aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronPdf
  2. Bu kod parçacığını kopyalayın ve çalıştırın.

    IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom;
    IronSoftware.Logger.CustomLogger = new MyCustomLogger();
  3. Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronPDF kullanmaya başlayın

    arrow pointer


Özel Bir Loglama Örneği Nasıl Uygulanır?

Özel günlüğü kullanmak için LoggingMode özelliğini LoggingModes.Custom olarak değiştirin. Ardından, CustomLogger özelliğini özel logger sınıfınıza atayın. Bu, çeşitli log çerçeveleriyle entegrasyon için esneklik sağlar ve uygulamanızda tutarlı loglama modelleri sürdürür.

Uygulama, minimal ayar gerektirir. Bir kez yapılandırıldığında, IronPDF'nin tüm operasyonları — HTML'den PDF'e dönüştürme, PDF manipülasyonu ve renderleme dahil — log mesajlarını otomatik olarak özel loglayıcınız üzerinden gönderir. Bu entegrasyon, PDF işleme operasyonları hakkında kritik bilgileri yakalamanızı sağlar.

IronPDF ile Neden Özel Loglama Kullanmalıyım?

:path=/static-assets/pdf/content-code-examples/how-to/custom-logging-custom-logging.cs
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom;
IronSoftware.Logger.CustomLogger = new CustomLoggerClass("logging");
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom
IronSoftware.Logger.CustomLogger = New CustomLoggerClass("logging")
$vbLabelText   $csharpLabel

IronPDF logları özel loglayıcı nesnesine yönlendirilecek. Mesajlar, IronPDF loglayıcısındaki ile aynı kalır; Özel loglayıcıya iletilirler. Özel loglayıcı uygulaması, mesajları nasıl ele alacağını belirler. Aşağıdaki özel loglayıcı sınıf örneğini dikkate alın.

Özel loglama, üretim uygulamaları için birkaç avantaj sunar:

  • Merkezi Log Yönetimi: IronPDF loglarını mevcut loglama altyapınızla entegre edin
  • Geliştirilmiş Hata Ayıklama: Sorun gidermek için PDF işlemleri hakkında ayrıntılı bilgi yakalayın
  • Performans İzleme: Render sürelerini ve kaynak kullanımını izleyin
  • Hata İzleme: PDF oluşturmada başarısızlıkları otomatik olarak yakalayın ve raporlayın
  • Uyumluluk: Düzenlenmiş sektörlerde belge oluşturma için denetim kayıtlarını sürdürün

Asenkron işleme gerektiren uygulamalar için, özel loglama eşzamanlı PDF işlemlerini izlemeye ve potansiyel darboğazları tanımlamaya yardımcı olur.

Özel Bir Loglayıcı Sınıf Nasıl Görünür?

:path=/static-assets/pdf/content-code-examples/how-to/custom-logging-custom-logging-class.cs
public class CustomLoggerClass : ILogger
{
    private readonly string categoryName;

    public CustomLoggerClass(string categoryName)
    {
        this.categoryName = categoryName;
    }

    public IDisposable BeginScope<TState>(TState state)
    {
        return null;
    }

    public bool IsEnabled(LogLevel logLevel)
    {
        return true;
    }

    public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
    {
        if (!IsEnabled(logLevel))
        {
            return;
        }

        // Implement your custom logging logic here.
        string logMessage = formatter(state, exception);

        // You can use 'logLevel', 'eventId', 'categoryName', and 'logMessage' to log the message as needed.
        // For example, you can write it to a file, console, or another destination.

        // Example: Writing to the console
        Console.WriteLine($"[{logLevel}] [{categoryName}] - {logMessage}");
    }
}
Public Class CustomLoggerClass
	Implements ILogger

	Private ReadOnly categoryName As String

	Public Sub New(ByVal categoryName As String)
		Me.categoryName = categoryName
	End Sub

	Public Function BeginScope(Of TState)(ByVal state As TState) As IDisposable
		Return Nothing
	End Function

	Public Function IsEnabled(ByVal logLevel As LogLevel) As Boolean
		Return True
	End Function

	Public Sub Log(Of TState)(ByVal logLevel As LogLevel, ByVal eventId As EventId, ByVal state As TState, ByVal exception As Exception, ByVal formatter As Func(Of TState, Exception, String))
		If Not IsEnabled(logLevel) Then
			Return
		End If

		' Implement your custom logging logic here.
		Dim logMessage As String = formatter(state, exception)

		' You can use 'logLevel', 'eventId', 'categoryName', and 'logMessage' to log the message as needed.
		' For example, you can write it to a file, console, or another destination.

		' Example: Writing to the console
		Console.WriteLine($"[{logLevel}] [{categoryName}] - {logMessage}")
	End Sub
End Class
$vbLabelText   $csharpLabel

Bu uygulama, standart Microsoft.Extensions.Logging.ILogger arayüzünü takip eder ve bu sayede .NET Standard günlük kaydı ekosistemiyle uyumludur. Loglayıcı sınıfı şu öğeleri içerir:

  • Kategori Adı: Log mesajlarının kaynağını tanımlamaya yardımcı olur
  • Log Seviyesi Filtreleme: Hangi ciddiyet seviyelerinin yakalanacağını kontrol edin
  • Esnek Çıkış: Logları herhangi bir hedefe yönlendirin (konsol, dosya, veritabanı vb.)
  • İstisna İşleme: İstisnalara ait detayları düzgünce biçimlendirip loglayın
  • Durum Yönetimi: BeginScope ile yapılandırılmış günlük kaydı desteği

Gelişmiş senaryolar için, karmaşık HTML dönüştürmeleri veya Chrome render motoru ile çalışırken günlük çıktısını etkileyen render seçeneklerini keşfedin.

Özel Günlük Çıktısı Nasıl Görünür?

Bu örnekte, log mesajları ek bilgiyle öne eklenmiştir.

Visual Studio hata ayıklama konsolunda IronPDF dağıtım günlükleri, Chrome istemci başlatma ve kütüphane yüklemesi gösteriliyor

Konsol çıktısı, özel loglamanın IronPDF'nin iç operasyonlarına dair ayrıntılı içgörüler sağladığını gösterir. Görebileceğiniz öğeler:

  • Chrome istemci başlatma adımları
  • Dağıtım adayı oluşturma
  • Yerel kütüphane yükleme dizileri
  • Başarılı bileşen dağıtım onayları

Bu ayrıntı seviyesi, PDF oluşturma sorunları veya performans optimizasyonlarıyla uğraşırken paha biçilmezdir. Yapılandırılmış format, logları programlı bir şekilde işlemenizi veya log analizi araçlarıyla entegre etmenizi kolaylaştırır.

Özel Loglama Uygulaması için En İyi Uygulamalar

IronPDF ile özel loglamayı uygularken şu en iyi uygulamaları dikkate alın:

  1. Uygun Log Seviyeleri Kullanın: Log layıcınızı, aşırı log depolamayı önlemek için doğru ayrıntı seviyesi yakalayacak şekilde yapılandırın
  2. Bağlamsal Bilgi Dahil Edin: PDF işlemleriyle ilişkilendirmek için iste ID'leri, kullanıcı bilgileri veya işlem detayları ekleyin
  3. Hassas Verileri İşleyin: Log layıcınızın PDF içeriğinden gizli bilgileri açığa çıkarmadığından emin olun
  4. Performansı İzleyin: Optimize etme fırsatlarını tanımlamak için PDF oluşturma sürelerini izleyin
  5. Uyarılar Kurun: Kritik hatalar veya performans düşüşü için bildirimler yapılandırın

Özellikle lisans anahtarlarını kullanırken üretim dağıtımlarında, uygun loglama, sorunsuz işlemler ve hızlı sorun çözümü sağlar.

Yaygın Loglama Sorunlarını Giderme

Özel loglama ile ilgili sorunlarla karşılaşırsanız:

  • Logger'ınızın ILogger arayüzünü doğru şekilde uyguladığını doğrulayın
  • Herhangi bir IronPDF işlemi öncesinde LoggingMode ayarının yapıldığını kontrol edin
  • Log layıcınızın eşzamanlı işlemler için thread-güvenli olduğundan emin olun
  • Dosyalar veya harici sistemlere yazarken log izinlerini inceleyin

Ek sorun giderme kaynakları için, sorun giderme kılavuzumuza başvurun veya loglama özellikleri ve yöntemleri hakkında ayrıntılı belge için API Referansımıza göz atın.

Başka neler yapabileceğinizi görmek için hazır mısınız? Öğretici sayfamızdan daha fazla özelliği burada kontrol edin: Ek Özellikler

Sıkça Sorulan Sorular

C#'ta özel günlükleme nedir ve PDF işlemesi ile nasıl çalışır?

C# ile IronPDF'de özel günlükleme, PDF işleme olaylarını ve mesajlarını yakalayan kişiselleştirilmiş bir günlük sistemi uygulamanıza olanak tanır. LoggingMode'yi Custom olarak ayarlayarak ve kendi günlüklemeyi uygulayarak, IronPDF tüm PDF oluşturma ve manipülasyon günlüklerini özel günlükçünüze yönlendirir, böylece mevcut günlükleme altyapılarıyla NLog, Serilog veya log4net gibi entegre çalışabilir.

PDF işlemleri için özel günlüklemeyi nasıl etkinleştiririm?

IronPDF'de özel günlüklemeyi etkinleştirmek için IronSoftware.Logger.LoggingMode'yi LoggingModes.Custom olarak ayarlayın ve CustomLogger sınıfınızı IronSoftware.Logger.CustomLogger'a atayın. Yapılandırma tamamlandığında, HTML'den PDF dönüşümü ve PDF işlemesi dahil tüm IronPDF işlemleri, günlük mesajlarını otomatik olarak özel günlükçünüz aracılığıyla gönderecektir.

PDF oluşturma için özel günlükleme uygulamanın faydaları nelerdir?

IronPDF ile özel günlükleme, PDF işleme olaylarını nasıl izlediğinizi tam kontrol altına almanızı sağlar. Çeşitli bileşenlerden gelen günlükleri tek bir merkezde toplamanızı, özel biçimlendirme uygulamanızı, önem seviyesi ile filtrelemenizi ve günlükleri dosyalar, veritabanları veya izleme servisleri gibi belirli yerlere yönlendirmenizi sağlar, böylece uygulamanızın günlükleme yeteneklerini artırır.

PDF işleme günlüklerini mevcut günlükleme çerçeveleriyle entegre edebilir miyim?

Evet, IronPDF'in özel günlükleme özelliği NLog, Serilog, log4net gibi popüler günlükleme çerçeveleriyle veya herhangi bir özel günlükleme çözümü ile sorunsuzca entegre olur. Bu, PDF işleme operasyonlarıyla ilgili kritik bilgileri kaydederken, uygulamanızda tutarlı günlükleme kalıpları sağlar.

Özel günlükleme uygulamak için minimum iş akışı nedir?

Minimum iş akışı 5 adım içerir: NuGet'ten IronPDF'i indirin, LoggingMode'yi LoggingModes.Custom olarak ayarlayın, CustomLogger'ı özel günlükçü nesnenize atayın ve tüm günlük mesajları özel günlükçünüze yönlendirilir. Son olarak, IronPDF işlemlerinden günlükleri görüntülemek için günlük mesajlarını çıktı alın.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 19,014,616 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronPdf
bir örnek çalıştır HTML'nizi bir PDF'ye dönüştüğünü izleyin.