log4net Drukuj
Ocena użytkowników: / 0
SłabyŚwietny 
Wpisany przez Patryk yarpo Jar   
poniedziałek, 04 stycznia 2010 02:27

Ostatnio miałem okazję zapoznać się z ciekawym systemem do tworzenia logów z działania aplikacji. Nie chcę się tu wdawać w dyskusję, czy logi są przydatne, czy nie - o tym można pczytać na linkach zamieszczonych pod artykułem. Mowa tu o darmowym systemie log4net.

 

Aby móc zacząć pracować z log4net należy pobrać paczkę ze strony logging.apache.org/log4net/download.html.

Następnie załączyć plik dll do naszego projektu. Jeśli nie wiesz jak to zrobić, ten artykuł może Ci w tym pomóc.

Wyświetlanie w konsoli

01.using System;
02.using System.Collections.Generic;
03.using System.Text;
04.using log4net;
05. 
06. 
07.class Program
08.{
09.    static void Main(string[] args)
10.    {
11.        log4net.Config.BasicConfigurator.Configure();
12.        ILog log = log4net.LogManager.GetLogger("example");
13.        log.Debug("To jest informacja przydatna do debugowania aplikacji");
14.        log.Info("Zwykle zdarzenie jakich mnostwo moze sie zdarzyc");
15.        log.Warn("Ostrzezenie, cos jest nie tak");
16.        log.Error("Wystapil blad");
17.        log.Fatal("Fatalny blad, dzielenie przez zero, sila Coriolisa dziala w druga strone");        
18.        Console.Read();  // abysmy mogli zobaczyc wyniki :P
19.    }
20.}

Po uruchomieniu tej aplikacji w wyniku powinno się pojawić:

1.89 [9] DEBUG example (null) - To jest informacja przydatna do debugowania aplikacji
2.141 [9] INFO example (null) - Zwykle zdarzenie jakich mnostwo moze sie zdarzyc
3.142 [9] WARN example (null) - Ostrzezenie, cos jest nie tak
4.142 [9] ERROR example (null) - Wystapil blad
5.143 [9] FATAL example (null) - Fatalny blad, dzielenie przez zero, sila Coriolisa dziala w druga strone

Zapisywanie do pliku xml

Aby móc zapisać do pliku xml musimy dokonać dwóch zmian (niżej znajdziesz filmik).

1. Dodać plik App.config z taką treścią:

01.<?xml version="1.0" encoding="utf-8" ?>
02.<configuration>
03.  <configSections>
04.    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
05.  </configSections>
06. 
07. 
08.  <log4net>
09.    <root>
10.      <level value="DEBUG" />
11.      <appender-ref ref="LogFileAppender" />
12.    </root>
13.    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
14.      <param name="File" value="C:\log.txt" />
15.      <param name="AppendToFile" value="true" />
16.      <rollingStyle value="Size" />
17.      <maxSizeRollBackups value="10" />
18.      <maximumFileSize value="10MB" />
19.      <staticLogFileName value="true" />
20.      <layout type="log4net.Layout.PatternLayout">
21.        <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss} – %m%n" />
22.      </layout>
23.    </appender>
24.  </log4net>
25.</configuration>

Miejsce, gdzie ma zostać utworzony plik xml wskazujemy w tagu <param@File> w atrybucie value. Tu jest to C:\log.txt

2. Zmienić 1 linię w dotychczasowym kodzie:

1.///log4net.Config.BasicConfigurator.Configure();
2. 
3.log4net.Config.XmlConfigurator.Configure();

Wideotutorial stworzony na podstawie: