Προγραμματισμός

Πώς να εργαστείτε με το log4net στο C #

Όταν εργάζεστε σε εφαρμογές, μπορεί συχνά να θέλετε να καταγράφετε δεδομένα εφαρμογών που μπορεί να περιλαμβάνουν, την ακολουθία συμβάντων στην εφαρμογή σας, ενέργειες χρήστη ή ακόμη και σφάλματα όταν συμβαίνουν. Υπάρχουν πολλά πλαίσια καταγραφής που μπορείτε να χρησιμοποιήσετε, αλλά το log4net είναι μακράν ένα από τα πιο δημοφιλή πλαίσια καταγραφής για χρήση με εφαρμογές που έχουν κατασκευαστεί ή αναπτυχθεί στο .NET. Πρόκειται για μια βιβλιοθήκη ανοιχτού κώδικα (μια θύρα της δημοφιλούς βιβλιοθήκης ανοιχτού κώδικα log4j για Java) που μπορεί να χρησιμοποιηθεί για την καταγραφή δεδομένων εφαρμογής σε διαφορετικούς στόχους καταγραφής στο .NET.

Εγκατάσταση του log4net

Ο ευκολότερος και ταχύτερος τρόπος για να ξεκινήσετε να χρησιμοποιείτε το log4net είναι να το εγκαταστήσετε μέσω του NuGet Package Manager. Υποθέτοντας ότι έχετε δημιουργήσει ένα έργο εφαρμογής κονσόλας στο Visual Studio, μπορείτε να εγκαταστήσετε το log4net μέσω του NuGet Manager, ακολουθώντας αυτά τα βήματα.

  1. Στο "Solution Explorer Window", επιλέξτε και κάντε δεξί κλικ στο έργο σας
  2. Κάντε κλικ στην επιλογή "Διαχείριση πακέτων NuGet ..."
  3. Κάντε κλικ στο "Online" και, στη συνέχεια, πληκτρολογήστε log4net στο πλαίσιο αναζήτησης
  4. Επιλέξτε το πακέτο log4net που θέλετε να εγκαταστήσετε
  5. Κάντε κλικ στο "Εγκατάσταση" για να ξεκινήσετε τη διαδικασία εγκατάστασης

Από αυτό το γράψιμο, η τελευταία σταθερή έκδοση του log4net είναι 2.0.5. Μόλις εγκατασταθεί το log4net μέσω του NuGet Package Manager, θα παρατηρούσατε ότι το συγκρότημα log4net προστέθηκε ως αναφορά στο έργο σας.

Διαμόρφωση log4net

Τώρα που το πακέτο log4net έχει εγκατασταθεί με επιτυχία, προσθέστε την ακόλουθη γραμμή στο αρχείο AssemblyInfo.cs στο φάκελο Properties του έργου σας. Εάν αυτό δεν προσδιορίζεται, οι ρυθμίσεις διαμόρφωσης δεν θα ληφθούν υπόψη.

[συναρμολόγηση: log4net.Config.XmlConfigurator (ConfigFile = "Log4Net.config", Watch = true)]

Εναλλακτικά, μπορείτε επίσης να αναφέρετε το ίδιο στο app.config ή στο αρχείο web.config.

[συναρμολόγηση: log4net.Config.XmlConfigurator (Watch = true)]

Εάν τα μεταδεδομένα διαμόρφωσης log4net βρίσκονται σε κάποιο άλλο αρχείο (δηλαδή, εκτός από τα αρχεία web.config ή app.config), μπορείτε να ορίσετε τα ακόλουθα.

[συναρμολόγηση: log4net.Config.XmlConfigurator (ConfigFile = "log4net.config", Watch = true)]

Το επόμενο βήμα είναι να καθορίσετε τις απαραίτητες λεπτομέρειες διαμόρφωσης για το log4net στο app.config ή το αρχείο web.config στην εφαρμογή σας. Υποθέτοντας ότι χρησιμοποιείτε ένα έργο εφαρμογής κονσόλας, προσθέστε μια ενότητα διαμόρφωσης με το όνομα "log4net" στο αρχείο app.config όπως φαίνεται παρακάτω.

Τώρα, προσθέστε την ενότητα "" μετά το στοιχείο στο αρχείο app.config. Στη συνέχεια, μέσα στην ενότητα "", τοποθετήστε τις λεπτομέρειες διαμόρφωσης όπως φαίνεται στο απόσπασμα κώδικα που δίνεται παρακάτω.

Αυτό πρέπει να κάνετε για να διαμορφώσετε το log4net. Ας εξερευνήσουμε τώρα πώς μπορούμε να το χρησιμοποιήσουμε στον κώδικά μας. Το στοιχείο χρησιμοποιείται για να καθορίσει το όνομα και τον τύπο του καταγραφέα που θα χρησιμοποιηθεί. Σε αυτό το παράδειγμα χρησιμοποιούμε το ρολό app app. Ωστόσο, υπάρχουν πολλοί άλλοι τύποι προσθηκών, δηλαδή, AdoNetAppender, AspNetTraceAppender, ConsoleAppender κ.λπ.

Χρησιμοποιώντας το log4net

Στην τάξη σας, δημιουργήστε μια αναφορά στο ILog πραγματοποιώντας μια κλήση στη στατική μέθοδο GetLogger της κλάσης LogManager, όπως φαίνεται στο απόσπασμα κώδικα που δίνεται παρακάτω.

ιδιωτικό στατικό readonly log4net.ILog log =

log4net.LogManager.GetLogger

(System.Reflection.MethodBase.GetCurrentMethod (). Δήλωση τύπου);

Τώρα μπορείτε να χρησιμοποιήσετε το στιγμιότυπο που ονομάζεται παρουσία για να καταγράψετε δεδομένα στους διαμορφωμένους στόχους. Το παρακάτω απόσπασμα κώδικα δείχνει πώς μπορείτε τώρα να επωφεληθείτε από την παρουσία καταγραφής για να καταγράψετε δεδομένα.

log.Debug ("Αυτό είναι ένα μήνυμα εντοπισμού σφαλμάτων");

log.Info ("Αυτό είναι ένα μήνυμα πληροφοριών");

log.Warn ("Αυτό είναι ένα προειδοποιητικό μήνυμα");

log.Error ("Αυτό είναι ένα μήνυμα σφάλματος");

log.Fatal ("Αυτό είναι ένα μοιραίο μήνυμα");

Ακολουθεί μια πλήρης λίστα κωδικών που δείχνει πώς μπορείτε να καταγράψετε το μήνυμα εξαίρεσης σε ένα αρχείο κειμένου χρησιμοποιώντας το log4net.

Πρόγραμμα τάξης

   {

static readonly log4net.ILog log =

log4net.LogManager.GetLogger

(System.Reflection.MethodBase.GetCurrentMethod (). Δήλωση τύπου);

static void Main (συμβολοσειρά [] args)

       {

δοκιμάστε

           {

ρίξτε νέα εξαίρεση ("Αυτό είναι το δοκιμαστικό μήνυμα ...");

           }

αλίευση (πρώην εξαίρεση)

           {

log.Error (π.χ. Μήνυμα);

           }          

Κονσόλα. Διαβάστε ();

       }

   }

Αφού εκτελέσετε το παραπάνω πρόγραμμα, θα δημιουργηθεί ένα αρχείο κειμένου με το όνομα .log και το μήνυμα εξαίρεσης που καθορίζεται θα καταγραφεί μαζί με τη χρονική σήμανση. Σημειώστε ότι μπορείτε επίσης να χρησιμοποιήσετε το log4net μέσω προγραμματισμού, δηλαδή να ρυθμίσετε το log4net χωρίς προγραμματισμό, χωρίς να χρειάζεται η διαμόρφωση που συζητήσαμε νωρίτερα.