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

Πώς να εργαστείτε με το NLog in .Net

Το NLog είναι μια πλατφόρμα καταγραφής ανοιχτού κώδικα για χρήση σε εφαρμογές .Net, Xamarin και ακόμη και Windows Phone. Είναι δωρεάν, πολλαπλών πλατφορμών και εύκολο στη διαμόρφωση και επέκταση. Το NLog είναι μια εξαιρετική πλατφόρμα καταγραφής που είναι απλή και διαθέτει εξαιρετική υποστήριξη για δυνατότητες δρομολόγησης και διαχείρισης καταγραφής, καθιστώντας την μια καλή επιλογή όταν πρέπει να επιλέξετε ένα πλαίσιο καταγραφής που έχει υψηλή απόδοση.

Εγκαταστήστε το NLog

Πρώτα, πρέπει να κατεβάσετε ένα αντίγραφο του NLog.

Εναλλακτικά, μπορείτε να εγκαταστήσετε το NLog χρησιμοποιώντας το NuGet Package Manager. Για να το κάνετε αυτό, το μόνο που χρειάζεται να κάνετε είναι να δημιουργήσετε ένα έργο στο Visual Studio, κάντε δεξί κλικ στο έργο στο παράθυρο Solution Explorer και, στη συνέχεια, επιλέξτε την επιλογή "Διαχείριση πακέτων NuGet ...". Στη συνέχεια, μπορείτε να επιλέξετε το NLog.Config ως πακέτο που θέλετε να εγκαταστήσετε από το παράθυρο του NuGet Package Manager.

Ή μπορείτε επίσης να εγκαταστήσετε το NLog χρησιμοποιώντας την Κονσόλα διαχείρισης πακέτων. Πληκτρολογήστε την ακόλουθη εντολή στην Κονσόλα διαχείρισης πακέτων και πατήστε enter.

Εγκατάσταση-πακέτο NLog.Config

Για να ξεκινήσετε να χρησιμοποιείτε το NLog στο Visual Studio 2015, μπορείτε να εγκαταστήσετε το πακέτο NLog.Config. Όταν εγκαθιστάτε αυτό το πακέτο, θα εγκατασταθούν επίσης οι σχετικές εξαρτήσεις του, συμπεριλαμβανομένων των NLog και NLog.Schema και το συγκρότημα NLog.dll θα προστεθεί στο έργο σας. Θα δείτε επίσης δύο αρχεία που προστέθηκαν στο έργο σας, ένα με το όνομα NLog.config και ένα με το όνομα NLog.xsd.

Επίπεδα καταγραφής NLog

Το NLog παρέχει υποστήριξη για τα ακόλουθα επίπεδα καταγραφής:

  • Ιχνος
  • Εντοπισμός σφαλμάτων
  • Πληροφορίες
  • Προειδοποιώ
  • Λάθος
  • Μοιραίος

Ρύθμιση NLog

Θα πρέπει πρώτα να ρυθμίσετε το όνομα και τη διαδρομή του αρχείου καταγραφής στο αρχείο NLog.config. Δείτε πώς μπορείτε να το κάνετε αυτό:

Αν θέλετε να δημιουργείτε ένα αρχείο καταγραφής κάθε μέρα, μπορείτε να ορίσετε τα ακόλουθα στην ετικέτα μεταβλητής:

Καθορίστε έναν στόχο καταγραφής στο NLog

Μόλις καθοριστεί το όνομα και η διαδρομή του αρχείου καταγραφής, θα πρέπει να καθορίσετε έναν στόχο καταγραφής. Αυτό μπορεί να γίνει χρησιμοποιώντας την ετικέτα προορισμού στο αρχείο NLog.config:

xsi: type = "Αρχείο"

fileName = "$ {logFilePath}"

διάταξη = "$ {longdate} LEVEL = $ {level: upperCase = true}: $ {message}"

keepFileOpen = "true" />

Λάβετε υπόψη ότι μπορείτε να δημιουργήσετε πολλούς στόχους μέσα στην ετικέτα στόχων.

Μπορείτε επίσης να επωφεληθείτε από κανόνες για να ενημερώσετε το NLog πού πρέπει να καταγραφεί μια συγκεκριμένη καταχώριση καταγραφής, είτε σε αρχείο, βάση δεδομένων, αρχείο καταγραφής συμβάντων κ.λπ.

Δημιουργήστε καταγραφικό στο NLog

Μπορείτε να δημιουργήσετε καταγραφικό ανά κλάση χρησιμοποιώντας την κλάση LogManager στη βιβλιοθήκη NLog. Εδώ μπορείτε να το κάνετε:

Δείγμα χώρου ονομάτων

{

δοκιμή δημόσιας τάξης

  {

ιδιωτικό στατικό Logger logger = LogManager.GetCurrentClassLogger ();

  }

}

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

χρησιμοποιώντας το NLog;

Logger logger = LogManager.GetLogger ("SpecifyTheClassName Εδώ");

Απλό παράδειγμα NLog στο .Net

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

χρησιμοποιώντας το NLog;

χρησιμοποιώντας το Σύστημα;

namespace NLog

{

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

    {

ιδιωτικό στατικό Logger logger = LogManager.GetCurrentClassLogger ();

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

        {

logger.Trace ("Αυτό είναι ένα μήνυμα ιχνών");

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

logger.Info ("Αυτό είναι ένα ενημερωτικό μήνυμα");

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

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

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

Κονσόλα.ReadKey ();

        }

    }

}

$config[zx-auto] not found$config[zx-overlay] not found