2010-03-02 15 views
8

Mam skrypt, który ma wiele wątków działających równolegle. Te wątki zapisują do pliku Log4Net RollingFileAppender. Odczytywanie tego dziennika jest dość mylące, ponieważ wszystkie dzienniki wątków są pomieszane. Zastanawiam się, jaki jest dobry sposób zapisywania tych dzienników i jaki jest najlepszy sposób ich czytania, aby łatwiej było odczytywać informacje o debugowaniu określonego wątku.Odczytywanie dziennika z Log4Net generowane przez wiele wątków

Odpowiedz

7

Zaktualizuj plik konfiguracyjny, aby dołączyć nazwę wątku do wyjścia dziennika. Jeśli ustawisz nazwę wątków w kodzie, ta sama nazwa zostanie zarejestrowana w twoim pliku. To jest prosty przykład w tym nazwę wątku poprzez plik konfiguracyjny log4net <conversionPattern> tag:

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value="service.log" /> 
    <appendToFile value="true" /> 
    <rollingStyle value="Size" /> 
    <maxSizeRollBackups value="10" /> 
    <maximumFileSize value="2MB" /> 
    <staticLogFileName value="true" /> 
    <layout type="log4net.Layout.PatternLayout"> 
     **<conversionPattern value="%-5level : [%t] - %message%newline" />** 
    </layout> 
</appender> 

UPDATE napisałem prostą aplikację POC to wykazać. http://codereport.net/logging-the-thread-name-with-log4net/

+0

Thread.Name Link MSDN: http://msdn.microsoft.com/en-us/library/system.threading.thread.name.aspx –

+0

Dodałem informację o wątku, a następnie używam LogExpert (http: //www.log-expert.de/), aby filtrować dziennik, aby łatwo odczytać ślad każdego wątku. –

0

Zastanów się, logując się do czegoś łatwiejszego w obsłudze, takiego jak baza danych. Za pomocą rejestrowania AdoNetAppender w tabeli bazy danych można łatwo sortować i filtrować na wątku.

Ponad na stronie log4net znajduje się config samples, jak to zrobić.

Powiązane problemy