C#'ta Özel Günlükleme Kullanma

How to use Custom Logging in C

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

C#'da özel günlük kaydı, uygulamaya özel olayları ve mesajları yakalayan kişiselleştirilmiş bir günlük sistemini uygulamanıza olanak tanır. IronPDF ile, tüm PDF işleme günlüklerini özelleştirilmiş kaydedicinize yönlendirebilirsiniz, bunun için LoggingMode'yi Custom olarak ayarlayın ve kaydedici uygulamanızı atayın. Bu özellik, ister NLog, Serilog, log4net veya özel bir çözüm kullanıyor olun, IronPDF'nin detaylı günlük çıkışını mevcut günlük altyapınızla entegre etmenize olanak tanır.

Özel günlük kaydı, birden fazla bileşenden gelen günlükleri merkezi bir şekilde toplamanız gerektiğinde, özel biçimlendirme uygulamak, önem seviyesine göre filtrelemek veya günlükleri dosyalara, veritabanlarına veya izleme hizmetlerine yönlendirmek gibi durumlarda değerlidir. IronPDF ile özel günlükleme uygulayarak, uygulamanızdaki PDF oluşturma ve işleme olaylarının nasıl izlendiği üzerinde tam kontrol elde edersiniz.

Hızlı Başlangıç: IronPDF ile Özel Günlükleme Uygulaması

IronPDF kullanarak C#'ta özel günlükleme ile başlayın. Bu kılavuz, LoggingMode'yi Custom olarak ayarlamayı ve onu kaydedici sınıfınızla bağlamayı gösterir. IronPDF mesajlarını, uygulama günlüklerinizi izlemek ve yönetmek için özel logger'ınıza yönlendirin. Kurulum basittir ve uygulamanızın günlükleme yeteneklerini arttırır. IronPDF'nin özelliklerine genel bir bakış için, Hızlı Başlangıç Kılavuzu'na bakın.

  1. NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronPdf yükleyin

    PM > Install-Package IronPdf
  2. Bu kod parçasını kopyalayıp çalıştırın.

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

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

    arrow pointer


Özel Günlükleme Örneği Nasıl Uygulanır?

Özel günlükleme 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 günlükleme çerçeveleri ile entegrasyon esnekliği sağlar ve uygulamanızda tutarlı günlükleme desenleri korur.

Uygulama, minimum kurulum gerektirir. Konfigüre edildikten sonra, HTML'den PDF'ye dönüşüm, PDF manipülasyonu ve işleme dahil tüm IronPDF işlemleri günlük mesajlarını otomatik olarak özel logger'ınız aracılığıyla gönderir. Bu entegrasyon, PDF işleme operasyonları hakkında kritik bilgileri yakalamanızı sağlar.

IronPDF ile Neden Özel Günlükleme 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 günlükleri, özel logger nesnesine yönlendirilecektir. Mesajlar, IronPDF logger'ındaki ile aynı kalır; özel logger'a aktarılırlar. Özel logger uygulaması, mesajların nasıl ele alınacağını belirler. Aşağıdaki özel logger sınıfı örneğini düşünün.

Üretim uygulamaları için özel günlükleme birkaç avantaj sunar:

  • Merkezi Günlük Yönetimi: IronPDF günlüklerini mevcut günlükleme altyapınızla entegre edin
  • Gelişmiş Hata Ayıklama: PDF operasyonları hakkında ayrıntılı bilgileri sorun çözme için yakalayın
  • Performans İzleme: İşleme sürelerini ve kaynak kullanımını takip edin
  • Hata İzleme: PDF oluşturma hatalarını otomatik olarak yakalayın ve raporlayın
  • Uyumluluk: Düzenlenen sektörde belge oluşturma için denetim izi oluşturun

Eş zamanlı işlem gerektiren asenkron işleme çözümleri için özel günlükleme, eşzamanlı PDF işlemlerini izlemeye ve olası darboğazları tanımlamaya yardımcı olur.

Özel Logger Sınıfı Ne 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 .NET günlükleme ekosistemiyle uyumlu hale getirir. Logger sınıfı şunları içerir:

  • Kategori Adı: Günlük mesajlarının kaynağını tanımlamaya yardımcı olur
  • Günlük Seviyesi Filtreleme: Hangi ciddiyet seviyelerinin yakalanacağını kontrol et
  • Esnek Çıktı: Günlükleri herhangi bir hedefe yönlendirin (konsol, dosya, veritabanı vb.)
  • Özel Durum Yönetimi: Özel durum detaylarını düzgün formatta kaydedin
  • Durum Yönetimi: BeginScope ile yapılandırılmış günlükleme desteği

Gelişmiş senaryolar için, işleme seçenekleri'ni keşfedin, özellikle karmaşık HTML dönüşümleri veya Chrome işleme motoru ile çalışırken.

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

Bu örnekte, günlük mesajları ek bilgilerle önceden işaretlenmiştir.

Visual Studio hata ayıklayıcı konsolu, Chrome istemci başlatılması ve kütüphane yüklemesi ile birlikte IronPdf dağıtım günlüklerini gösterir

Konsol çıktısı, özel günlüklemenin IronPDF'nin dahili işlemleri hakkında ayrıntılı bilgiler sağladığını gösterir. Görülebilirler:

  • Chrome istemci başlatma adımları
  • Dağıtım adayının oluşturulması
  • Yerli kütüphane yükleme sekansları
  • Başarılı bileşen dağıtımı onayları

Bu detay seviyesi, PDF oluşturma sorunlarını gidermek veya performansı optimize etmek için paha biçilmezdir. Yapılandırılmış format, günlükleri programatik olarak ayıklamayı veya günlük analizi araçları ile entegre olmayı kolaylaştırır.

Özel Günlükleme Uygulaması için En İyi Uygulamalar

IronPDF ile özel günlükleme uygularken, bu en iyi uygulamaları düşünün:

  1. Uygun Günlük Seviyeleri Kullanın: Günlüğünüzü ayrıntı seviyesinin doğru şekilde yakalanması ve günlük depolama kapasitesinin aşırı yüklenmemesi için yapılandırın
  2. Bağlamsal Bilgileri Dahil Edin: PDF işlemlerini ilişkilendirmek için istek kimlikleri, kullanıcı bilgileri veya işlem detayları ekleyin
  3. Hassas Verileri İşleyin: Günlüğünüzün PDF içeriğinden gizli bilgileri ifşa etmediğinden emin olun
  4. Performansı İzleyin: PDF oluşturma sürelerini takip ederek optimizasyon fırsatlarını belirleyin
  5. Uyarı Kurulumu Yapın: Kritik hatalar veya performans bozulması için bildirimler yapılandırın

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

Yaygın Günlükleme Sorunlarını Giderme

Özel günlüklemede sorunlarla karşılaşırsanız:

  • Kaydedicinizin ILogger arayüzünü doğru şekilde uyguladığını doğrulayın
  • Herhangi bir IronPDF işlemi öncesinde LoggingMode ayarlandığını kontrol edin
  • Logger'ınızın eşzamanlı işlemler için thread-safe olduğundan emin olun
  • Dosyalara veya harici sistemlere yazarken günlük izinlerini gözden geçirin

Ek sorun giderme kaynakları için, sorun giderme kılavuzumuza veya logging özellikleri ve yöntemleri hakkında ayrıntılı belgeler için API Referansına başvurun.

Başka neler yapabileceğinizi görmek için hazır mısınız? Eğitim sayfamıza buradan göz atın: Ek Özellikler

Sıkça Sorulan Sorular

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

IronPDF ile C#'ta özel günlük kaydı, PDF işleme olaylarını ve mesajlarını yakalayan özelleştirilmiş bir günlük sistemini uygulamanıza izin verir. LoggingMode'u Custom olarak ayarlayıp kendi günlükçünüzü atayarak, IronPDF tüm PDF oluşturma ve manipülasyon günlüklerini özel günlükçünüze yönlendirir ve NLog, Serilog veya log4net gibi mevcut günlük altyapısı ile entegrasyon sağlar.

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

IronPDF ile özel günlük kaydını etkinleştirmek için, IronSoftware.Logger.LoggingMode'u LoggingModes.Custom olarak ayarlayın ve IronSoftware.Logger.CustomLogger'a özel günlük sınıfınızı atayın. Konfigüre edildikten sonra, HTML'den PDF'e dönüşüm ve PDF manipülasyonu dahil olmak üzere tüm IronPDF işlemleri günlük mesajlarını otomatik olarak özel günlükçünüze gönderecektir.

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

IronPDF ile özel günlük kaydı, PDF işleme olaylarının nasıl takip edildiğini tam kontrol sağlar. Birden fazla bileşenden gelen günlükleri merkezileştirmenizi, özelleştirilmiş biçimlendirme uygulamanızı, ciddiyet seviyelerine göre filtrelemenizi ve günlükleri dosyalar, veritabanları veya izleme hizmetleri gibi belirli yerlere yönlendirmenizi sağlar, böylece uygulamanızın günlük yeteneklerini geliştirir.

PDF işleme günlüklerini mevcut günlük kaydı çatılarıyla entegre edebilir miyim?

Evet, IronPDF'in özel günlük kaydı özelliği, NLog, Serilog, log4net veya herhangi bir özel günlük kaydı çözümü dahil olmak üzere popüler günlük kaydı çatıları ile sorunsuz entegrasyon sağlar. Bu, uygulamanız genelinde tutarlı günlük kalıplarını sağlarken PDF işleme operasyonları hakkında kritik bilgileri yakalar.

Özel günlük kaydını uygulamak için minimal iş akışı nedir?

Minimal iş akışı 5 adım içerir: NuGet'ten IronPDF'i indirin, LoggingMode'u 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önlendirilecektir. Son olarak, IronPDF işlemlerinden günlükleri görmek için günlük mesajlarını çıkışlayın.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku
Başlamaya Hazır mısınız?
Nuget Indirmeler 18,332,619 | Sürüm: 2026.4 yeni yayınlandı
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronPdf
bir örnek çalıştır HTML'nizin PDF olduğunu izleyin.