Cara bekerja dengan log4net di C #

Semasa mengerjakan aplikasi, anda mungkin sering ingin mencatat data aplikasi yang mungkin termasuk, urutan peristiwa dalam aplikasi anda, tindakan pengguna atau bahkan kesalahan ketika terjadi. Terdapat banyak kerangka pembalakan yang boleh anda gunakan, tetapi log4net sejauh ini merupakan salah satu kerangka pembalakan yang paling popular untuk digunakan dengan aplikasi yang dibina atau dikembangkan di .NET. Ini adalah perpustakaan sumber terbuka (port dari perpustakaan sumber terbuka log4j yang popular untuk Java) yang dapat digunakan untuk log data aplikasi ke sasaran log yang berbeza di .NET.

Memasang log4net 

Cara termudah dan tercepat untuk memulakan penggunaan log4net adalah dengan memasangnya melalui Pengurus Pakej NuGet. Dengan mengandaikan bahawa anda telah membuat projek aplikasi konsol di Visual Studio, anda boleh memasang log4net melalui NuGet Manager, dengan mengikuti langkah-langkah ini.

  1. Di "Solution Explorer Window," pilih dan klik kanan pada projek anda
  2. Klik "Urus Pakej NuGet ..."
  3. Klik "Dalam Talian" dan kemudian taip log4net di kotak carian
  4. Pilih pakej log4net yang ingin anda pasang
  5. Klik "Pasang" untuk memulakan proses pemasangan

Pada penulisan ini, keluaran log4net stabil terkini ialah 2.0.5. Setelah log4net dipasang melalui Pengurus Pakej NuGet, anda akan melihat pemasangan log4net yang ditambahkan sebagai rujukan projek anda.

Mengkonfigurasi log4net

Setelah pakej log4net berjaya dipasang, tambahkan baris berikut ke fail AssemblyInfo.cs di folder Properties projek anda. Sekiranya ini tidak ditentukan, tetapan konfigurasi tidak akan dipertimbangkan.

[pemasangan: log4net.Config.XmlConfigurator (ConfigFile = "Log4Net.config", Tonton = benar)]

Sebagai alternatif, anda juga boleh menyebut perkara yang sama di app.config atau fail web.config.

[pemasangan: log4net.Config.XmlConfigurator (Tonton = benar)]

Sekiranya metadata konfigurasi log4net anda terdapat di beberapa fail lain (iaitu selain fail web.config atau app.config), anda boleh menentukan yang berikut sebagai gantinya.

[pemasangan: log4net.Config.XmlConfigurator (ConfigFile = "log4net.config", Watch = true)]

Langkah seterusnya adalah menentukan butiran konfigurasi yang diperlukan untuk log4net di app.config atau fail web.config dalam aplikasi anda. Dengan mengandaikan bahawa anda menggunakan projek aplikasi konsol, tambahkan bahagian konfigurasi bernama "log4net" dalam fail app.config seperti gambar di bawah.

Sekarang, tambahkan bahagian "" selepas elemen dalam fail app.config anda. Selanjutnya, di dalam bahagian "", letakkan butiran konfigurasi seperti yang ditunjukkan dalam coretan kod yang diberikan di bawah.

Itu sahaja yang perlu anda lakukan untuk mengkonfigurasi log4net. Sekarang mari kita terokai bagaimana kita boleh menggunakannya dalam kod kita. Elemen tersebut digunakan untuk menentukan nama dan jenis logger yang akan digunakan. Dalam contoh ini kita menggunakan appender fail bergulir. Walau bagaimanapun, terdapat banyak jenis appenders lain yang tersedia, seperti AdoNetAppender, AspNetTraceAppender, ConsoleAppender, dll. Berikut adalah senarai lengkap dan cara mengkonfigurasi appenders lain.

Menggunakan log4net 

Di kelas anda, buatlah rujukan ke ILog dengan membuat panggilan ke kaedah statik GetLogger dari kelas LogManager seperti yang ditunjukkan dalam coretan kod yang diberikan di bawah.

log4net.ILog log statik persendirian log = 

log4net.LogManager.GetLogger

(System.Reflection.MethodBase.GetCurrentMethod (). Jenis Deklarasi);

Anda kini boleh menggunakan contoh bernama log untuk log data ke sasaran yang dikonfigurasi. Coretan kod berikut menggambarkan bagaimana anda kini dapat memanfaatkan instance log untuk memasukkan data.

log.Debug ("Ini adalah mesej Debug");

log.Info ("Ini adalah mesej Maklumat");

log.Warn ("Ini adalah mesej Amaran");

log.Error ("Ini adalah mesej Ralat");

log.Fatal ("Ini adalah mesej Fatal");

Berikut adalah senarai kod lengkap yang menunjukkan bagaimana anda boleh mencatat mesej pengecualian anda dalam fail teks menggunakan log4net.

Program kelas

   {

       log4net.ILog log baca statik =

       log4net.LogManager.GetLogger

(System.Reflection.MethodBase.GetCurrentMethod (). Jenis Deklarasi);

       kekosongan statik Utama (string [] args)

       {

           cuba

           {

               lontarkan Pengecualian baru ("Ini adalah mesej ujian ...");

           }

           tangkapan (Pengecualian ex)

           {

               log.Ralat (mis. Mesej);

           }          

           Konsol. Baca ();

       }

   }

Setelah anda melaksanakan program di atas, fail teks bernama .log akan dibuat dan mesej pengecualian yang ditentukan dengan log bersama dengan cap waktu. Perhatikan bahawa anda juga dapat menggunakan log4net secara terprogram, iaitu, mengkonfigurasi log4net secara tidak teratur memerlukan konfigurasi yang telah kita bincangkan sebelumnya.