Biztalk Log4Net [ditutup]

Adakah yang pernah menggunakan log4net dengan Biztalk? Kami sedang mempertimbangkan untuk menggunakannya dan mencoba mengakses pro/kontra, dan apakah itu akan memenuhi kebutuhan kami atau tidak.


person John Robbers    schedule 13.04.2010    source sumber


Jawaban (3)


Saya telah menggunakan Log4Net dengan BizTalk, tetapi saya akan mengatakan bahwa saya mengalami masalah. Setiap panggilan keluar dari BizTalk mengakibatkan orkestrasi saat ini mengalami dehidrasi (berseri) sehingga jenis apa pun yang Anda gunakan di BizTalk harus dapat diserialkan dan logger log4net tidak.

Jika Anda benar-benar harus menggunakan log4net ada pembungkus yang ditulis Scott Colestock di sini.

Dengan asumsi Anda tidak terkunci, saya hanya akan menggunakan Enterprise Logging, ia menawarkan fungsionalitas yang hampir sama dengan log4net dan langsung berfungsi dengan BizTalk. Anda dapat menemukannya di sini.

Untuk pro dan kontra, saya akan mengatakan bahwa menawarkan fungsionalitas yang hampir sama, saya akhirnya membuat utilitas pembungkus yang membuat Blok Logging Perpustakaan Perusahaan lebih mirip log4net.

 public static class Logging
{

    public static void LogMessage(TraceEventType eventType, string category, string message)
    {
        LogEntry logEntry = new LogEntry();
        logEntry.Severity = eventType;
        logEntry.Priority = 1;
        logEntry.Categories.Add(category);
        logEntry.Message = message;
        Logger.Write(logEntry);

    }

    public static void LogError(string category, string message)
    {
        LogMessage(TraceEventType.Error, category,message);
    }

    public static void LogInfo(string category, string message)
    {
        LogMessage(TraceEventType.Information, category, message);
    }
    public static void LogVerbose(string category, string message)
    {
        LogMessage(TraceEventType.Verbose, category, message);
    }
}

Dan jika Anda membutuhkan lebih banyak, lihat di sini .

person Nix    schedule 13.04.2010

Sudahkah Anda mempertimbangkan untuk menggunakan ETW. Menurut pendapat saya, inilah cara yang tepat untuk melakukan instrumentasi BizTalk. http://blogs.msdn.com/b/asgisv/archive/2010/05/11/best-practices-for-instrumenting-high-performa-biztalk-solutions.aspx

Salah satu kelemahan menggunakan log4net dan Enterprise Logging adalah Anda memerlukan konfigurasi untuk mengaktifkannya. Jadi, Anda harus mengelola file btsntsvc.exe.config di semua server di grup biztalk Anda yang dapat menjadi overhead.

ETW adalah konfigurasi nol.

person tom redfern    schedule 08.09.2011

Saya harus mengatakan bahwa setelah menggunakan log4net dan MS Enterprise Library untuk aplikasi logging pada proyek yang berbeda, saya lebih memilih log4net. Saya terutama menyukai cara bahwa dengan log4net Anda dapat memusatkan konfigurasi di satu tempat (misalnya database), daripada harus bergantung pada server lokal app.config untuk btsntsvc.exe.

Hal ini sangat berguna jika Anda perlu membuat instance server baru untuk ditambahkan ke farm Anda - Anda punya cukup hal untuk dilakukan tanpa khawatir tentang konfigurasi logging. Saya telah menggunakan log4net dengan BTS2004 dan BTS2006R2 dan merasa puas. Satu hal yang saya sarankan, apa pun kerangka logging yang Anda gunakan, jangan terjebak dalam menggunakan Log Peristiwa sebagai sink - saat Anda memperluas skala di 10 server aplikasi BTS, ini adalah proses yang memakan waktu untuk melacak kesalahan, khususnya sebagai instance orkestrasi tidak memiliki kesamaan dengan server aplikasi dan cenderung berpindah ke seluruh wilayah Anda! Simpan log peristiwa untuk masalah penting OS dan layanan BTS, bukan kesalahan aplikasi khusus - membuat pemantauan SCOM jauh lebih mudah.

FYI - Saya juga menggunakan log4net dengan pembungkus serial Colestock, meskipun dengan beberapa penyesuaian.

person Rob Potter    schedule 08.09.2011