2011-01-04 6 views
14

Właśnie natknąłem się na dwie sekcje w configiurations log4net:Różnica między loggerem a poziomem root w log4Net?

<logger name="File"> 
    <level value="All" /> 
</logger> 
<root> 
    <level value="INFO" /> 
</root> 

mogę wiedzieć, jaka jest różnica określania poziomów w rejestratora i korzeniowych tagów? Jaka jest różnica między nimi?

Odpowiedz

7

root oznacza wszystkie logi w aplikacji, a logger pozwala odnosić się do określonego rodzaju dziennika. Używając ich, możesz zmienić konfigurację dziennika tylko dla dzienników cetain. Spójrz swoje próbki z komentarzem:

<!-- Set root logger level to INFO--> 
<root> 
    <level value="INFO" /> 
</root> 

<!-- Print only messages of level WARN or above in the package "File" --> 
<logger name="File"> 
    <level value="WARN" /> 
</logger> 

W tym przykładzie wszystkie dzienniki mają info, i tym dzienniku typu „Plik” (lub nazwie pliku) jest ostrzec.

+1

robienie prostego 'LogManager.GetLog (" Plik ")' dostałby mi ten logger? – PUG

+0

@jaminator: Tak, to wszystko –