IRONSOFTWAREHOME
GELIŞTIRICI GÜNCELLEMELERI

Prism Journali (Geliştiriciler İçin Nasıl Çalışır)

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Jacob Mellor
Updated: 23 Nisan 2026

Grafik kullanıcı arabirimi olmamasına rağmen, konsol uygulamaları genellikle hataları izlemek, uygulama performansını izlemek ve sorunları verimli bir şekilde çözmek için sağlam kayıt mekanizmalarına ihtiyaç duyar. Prism.Plugin.Logging, .NET uygulamaları için kapsamlı bir kayıt çözümü sunan Prism Logging framework'ünün bir uzantısıdır ve çeşitli kayıt sağlayıcıları için destek içerir.

Bu yazıda, güçlü bir .NET kütüphanesi olan IronPDF kullanarak Prism Logging'i konsol uygulamalarınıza nasıl entegre edeceğimizı keşfediyoruz. Bu araçları birleştirerek geliştiriciler, konsol uygulamalarında gelişmiş günlük kaydı işlevsellikleri uygulayıp bakım ve sorun giderme alanlarını güçlendirebilirler.

Prism Logging Giriş

Prism.Plugin.Logging, XAML uygulamaları geliştirmek için popüler bir framework olan Prism'i kapsamlı günlük kaydı yetenekleri sağlayarak genişletir. NLog, Serilog ve Microsoft.Extensions.Logging gibi birden fazla günlük kaydı sağlayıcısı için destek sunan Prism.Plugin.Logging, çeşitli uygulama gereksinimlerine uyacak esneklik ve özelleştirme seçenekleri sunar.

Prism Günlük Kaydı Kullanmanın Avantajları

Esnek Günlük Yapılandırması: Prism.Plugin.Logging, geliştiricilere NLog, Serilog ve Microsoft.Extensions.Logging gibi popüler seçenekler dâhil olmak üzere çeşitli günlük sağlayıcılarının yapılandırılmasını sorunsuz bir şekilde sağlar.

Yapılandırılmış Veri Desteği: Prism.Plugin.Logging'i kullanarak geliştiriciler, mesajlarıyla yapılandırılmış verileri kaydedebilirler. Bu işlev, IronPDF tarafından üretilen günlük raporlarında zaman damgaları, hata kodları veya kullanıcı etkinlikleri gibi kapsamlı bağlam verilerinin kaydedilmesi ve eklenmesi gereken konsol uygulamaları içeren senaryolarda özellikle faydalıdır.

Prism Günlükleri Nasıl Kullanılır

  1. Yeni bir C# projesi oluşturun
  2. Prism günlük paketi yüklenir.
  3. SyslogLogger için bir nesne oluşturun ve yapılandırmayı parametre olarak iletin.
  4. Gerektiğinde günlük metodunu çağırın ve günlük mesajını ve günlük seviyesini iletin.
  5. En sonunda günlük nesnesini elden çıkarın.

Prism Günlüklerle Başlangıç

Setting up Prism in C# Projects

Prism'i bir C# projesine entegre etmek kolaydır. Prism'i eklemek için Microsoft'un .NET paket yöneticisi NuGet'i kullanmak gereklidir. Prism Günlüklerini projelerinize entegre etmeniz için gerekli araçlar ve kütüphaneler bu kütüphane tarafından sağlanmaktadır.

Prism Günlüğü (Geliştiriciler İçin Nasıl Çalıştığı): Şekil 1 - NuGet Paket Yöneticisi'nde arama çubuğuna

Dot .NET Uygulamalarında Prism Uygulama

Prism, Windows Forms (WinForms) ve Windows Konsol gibi birçok Dot .NET uygulama türüyle uyumludur. Her çerçeve farklı şekilde uygulanmış olsa da, temel kavram her zaman aynıdır; uygulamanız ile ilgili verileri kaydetmemize yardımcı olur.

Visual Studio'da Yeni Proje Oluşturma

Visual Studio uygulamasında Dosya menüsünü seçin. "Yeni Proje" öğesine tıklayın, ardından "Konsol uygulaması" öğesini seçin.

Prism Günlüğü (Geliştiriciler İçin Nasıl Çalıştığı): Şekil 2 - Visual Studio'yu açın ve

Dosya konumunu seçtikten sonra belirlenmiş yazı alanına proje adını girin. Ardından, aşağıdaki örnekte gösterildiği gibi, Oluştur düğmesine tıklayarak gerekli .NET Framework'ünü seçin.

Prism Logging (Geliştiriciler İçin Nasıl Çalışır): Şekil 3 - Ardından, projenizin istenen proje adı ve konumunu belirterek yapılandırın. Projeniz için ilgili .NET Framework'ü seçin ve "Oluştur" düğmesine tıklayın.

Seçilen uygulama, Visual Studio projesinin nasıl düzenleneceğini belirleyecektir. Uygulamaya başlangıç kodu eklemeye ve oluşturmaya başlamak için program.cs dosyasını açın. Windows, konsol veya web uygulamasını kullanabilirsiniz.

Bundan sonra kütüphane eklenebilir ve kod test edilebilir.

Prism Günlükleri Kullanmanın Temel Bir Örneği

Aşağıdaki kod örneğinde, Prism günlük nesnesini başlatıyoruz ve ardından Prism günlüklere sırayla farklı günlük seviyeleri ekleyerek, tüm günlükleri ve bunların kritik düzeylerini bir listeye kaydediyoruz.

using Prism.Logging.Syslog;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

class Program
{
    public class Demo
    {
        public string Name { get; set; }
        public int Age { get; set; }

        // Configure the logger options
        static Options genOptions = new Options
        {
            HostNameOrIp = "127.0.0.1",
            Port = 514,
            AppNameOrTag = "LoggingDemo"
        };

        static SyslogLogger logger = new SyslogLogger(genOptions);
        static IList<LogData> Loglst = new List<LogData>();

        static async Task Main(string[] args)
        {
            MessageLog("Application started.", Prism.Logging.Syslog.Level.Information);
            PerformApplicationLogic();
            MessageLog("Application stopped.", Prism.Logging.Syslog.Level.Information);
        }

        static void PerformApplicationLogic()
        {
            // Example application logic
            Console.WriteLine("Performing application logic...");

            // Simulate error
            try
            {
                throw new Exception("Simulated Exception");
            }
            catch (Exception ex)
            {
                MessageLog($"Error occurred: {ex.Message}", Prism.Logging.Syslog.Level.Error);
            }
        }

        // Logs messages and their levels
        static void MessageLog(string message, Prism.Logging.Syslog.Level level)
        {
            Loglst.Add(new LogData { Message = message, Level = level.ToString() });
            logger.Log(message, level);
        }

        public class LogData
        {
            public string Message { get; set; }
            public string Level { get; set; }
        }

        public class Options : ISyslogOptions
        {
            public string HostNameOrIp { get; set; }
            public int? Port { get; set; }
            public string AppNameOrTag { get; set; }
        }
    }
}

Prism Logging'den günlük raporları üretilir. Prism günlüklerini izlemek için 'Kiwi Syslog Service Manager' adlı bir araç kullanıyoruz.

Prism Günlük Çıkış Dosyası

Prism Günlüğü (Geliştiriciler İçin Nasıl Çalıştığı): Şekil 4 - Kiwi Syslog Servis Yöneticisi aracı kullanarak oluşturulan Prism günlük raporlarını izleyin.

Prism Günlükleri Operasyonları

Genişletilebilir Günlük Kaydı

Prism.Plugin.Logging'in yetenekleri, daha fazla işlevsellik ve esneklik sağlayan günlük kaydı ile genişletilir. Uygulamanızın ihtiyaçlarına uygun olarak günlük seviyelerini, günlük hedeflerini ve diğer değişkenleri ayarlamak için bir dizi yapılandırma seçeneği sunar.

Birden Fazla Günlük Hedefi

Prism.Plugin.Logging ile günlük mesajlarını konsol, dosyalar, veritabanları ve diğer günlük servisleri gibi çeşitli yerlere yönlendirebilirsiniz. Bu esneklik, uygulamanızın gereksinimleri ve ortamı için doğru günlük hedeflerini seçmenize olanak tanır.

Özel Günlükleyici

Eklentiyi kullanarak, Prism'in ILoggerFacade arayüzünü uygulayarak özel günlükleyici oluşturabilirsiniz. Bu, uygulamanızın ihtiyaçlarına göre özel günlük kaydı özellikleri geliştirebilmenizi veya üçüncü taraf günlük çerçeveleriyle arayüz oluşturabilmenizi sağlar.

Prism Günlükleri ile Günlük Oluşturma

Prism günlükleri, birkaç satır kod ile kolayca oluşturulabilir. Bir günlüğü oluşturmanın örneği aşağıdadır.

static Options genOptions = new Options
{
    HostNameOrIp = "127.0.0.1",
    Port = 514,
    AppNameOrTag = "LoggingDemo"
};
static SyslogLogger logger = new SyslogLogger(genOptions);
logger.Log("Sample message", Prism.Logging.Syslog.Level.Information);

Prism Logging ve IronPDF Entegrasyonu

Prism ve IronPDF'i Birlikte Kullanma

Prism ile IronPDF birleştirilmesi, bir C# projesinde heyecan verici bazı olanaklar açar. Prism, günlük bilgileri ile çalışma konusunda harika bir araç olmasına rağmen, IronPDF bu içeriği PDF'lere dönüştürmek için olağanüstü bir araçtır. Bu bağlanabilirlik sayesinde, programcılar öğeyi özel olarak tasarlanmış bir PDF belgesine kaydeden uygulamalar oluşturabilir.

IronPDF ile Prism Günlükleri

Kullanıcılar, Prism Günlüklerini kullanan bir Windows konsol uygulaması oluşturarak, programınız içinde Günlüklerle etkileşime geçebilirler. Bu kontrolün konsolda yeterli boş alanla günlük oluşturmasını sağlamak gerekir. Sunucu günlük işlemleri ve HTTP günlükleri ekleyin.

IronPDF'i Kurun

  • Visual Studio projenizi açın.

  • "Araçlar" > "NuGet Paket Yöneticisi" > "Paket Yöneticisi Konsolu" seçeneğini tercih edin.

    • Paket Yöneticisi Konsolu'nda aşağıdaki komutu yazın ve Enter tuşuna basın:

      PM > Install-Package IronPdf

  • IronPDF'yi yüklemenin başka bir yolu, Çözüm için NuGet Paket Yöneticisi'ni kullanmaktır.

    • IronPDF paketini arama sonuçlarında gezinin, seçin ve "Yükle" düğmesine tıklayın. Visual Studio, indirme ve kurulumu otomatik olarak halleder.

Prism Günlüğü (Geliştiriciler İçin Nasıl Çalıştığı): Şekil 5 - NuGet Paket Yöneticisi'nde arama çubuğuna

  • NuGet, projenizde gereken IronPDF paketini ve bağımlılıklarını indirip yükleyecektir.
  • IronPDF kurulduktan sonra, projeniz için kullanabilirsiniz.

NuGet Web Sitesi Üzerinden Yükleme

IronPDF'nin özellikleri, uyumluluğu ve diğer indirme seçenekleri hakkında daha fazla bilgi edinmek için NuGet web sitesinde https://www.nuget.org/packages/IronPdf adresindeki IronPDF sayfasını ziyaret edin.

DLL kullanarak Yükleme

Alternatif olarak, bilgisayarınıza DLL dosyasını ZIP dosyası olarak indirerek IronPDF'yi doğrudan projenize entegre edebilirsiniz. DLL içeren ZIP dosyasını indirmek için bu bağlantıyı tıklayın. Zip açıldıktan sonra DLL'i projenize ekleyin.

Logikleri Uygulama

  • Çevirici ve Günlükleyiciyi Kurma: Yazılım, IronPDF çeviricisini ve Prism günlüğünü ayarlar.
  • Günlük Mesajları: Belirlenen bir kategori ve öncelik ile mesajları kaydetmek için MessageLog() yöntemini kullanarak mesajları kaydedebilirsiniz. Bu örnekte, uygulamanın başlangıç ve durma mesajlarını ve uygulamanın çalışması sırasında oluşan her türlü istisnayı kaydediyoruz.
  • Logik Uygulama: PerformApplicationLogic() yöntemi tarafından simüle edilen bir kısım uygulama logikleridir. Bu durumda, hata kaydını ilginç bir şekilde göstermek için yalnızca bir mesaj üretir ve bir istisna ortaya çıkarır.
  • Bir PDF Günlük Raporu Oluşturmak: Uygulama mantığı çalıştırıldıktan sonra, yazılım kaydedilen mesajlar temelinde bir HTML belgesi oluşturmaktadır. Daha sonra IronPDF'nin RenderHtmlAsPdf() özelliğini kullanarak HTML belgesini PDF raporu olarak bir günlük dosyasına dönüştürür. Ardından PDF dosyası diske kaydedilir.

IronPDF kodunu dahil etmek için daha önce tanımlanmış olan kodu genişletme:

using IronPdf;

static void GeneratePdfLogReport()
{
    var renderer = new ChromePdfRenderer(); // Instantiates Chrome Renderer

    // Generate HTML content for PDF report
    string htmlContent = "<h1>Log Report</h1><ul>";
    foreach (var log in Loglst)
    {
        htmlContent += $"<li><strong>Message: {log.Message}</strong> Level: {log.Level}</li>";
    }
    htmlContent += "</ul>";
    
    // Generate PDF document
    var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);

    // Save PDF file
    string filePath = "log_report.pdf";
    pdfDocument.SaveAs(filePath);
    Console.WriteLine($"PDF log report generated: {filePath}");
}

IronPDF'den üretilen görüntü günlük raporu aşağıda verilmiştir

Prism Günlüğü (Geliştiriciler İçin Nasıl Çalıştığı): Şekil 6 - IronPDF ve Prism Günlük Raporu verilerini kullanarak oluşturulan Çıkış PDF dosyası.

IronPDF kod referansları hakkında daha fazla bilgi edinmek için buraya bakın.

Sonuç

Prism.Plugin.Logging entegrasyonu IronPDF ile geliştiricilerin kolayca terminal uygulamalarına kapsamlı bir günlükleme yeteneği dâhil etmelerini sağlar. Her iki aracın özelliklerini kullanarak geliştiriciler, genel program bakımını artırabilir, hata ayıklama yeteneklerini optimize edebilir ve günlüğe kaydetme işlemlerini hızlandırabilir. Prism.Plugin.Logging, doğru implementasyon ve yapılandırma ile konsol uygulamalarının eksiksiz günlük kapsamı elde etmesini sağlar, böylece güçlü izleme ve sorun giderme yetenekleri garanti edilir.

IronPDF, kalıcı bir lisans, bir yıl yazılım bakımı ve kütüphane güncellemesi de dahil olmak üzere bir Lite bundle süresiz lisans sunar. IronPDF, geliştirme amaçlı ücretsiz bir lisans sunar, ancak zaman ve yeniden dağıtım konusunda kısıtlamalara tabidir. Ücretsiz deneme lisansı elde etmek için tıklayın. Çeşitli Iron Software ürünleri hakkında daha fazla bilgi edinmek için web sitesini ziyaret edin.

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