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
8
A
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
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
- 1. Programowo wymusić nowy plik dziennika z log4net
- 2. Wiele projektów Log4Net
- 3. Wiele wątków z notifyAll()
- 4. Zarządzanie sesją Spring + Hibernate przez wiele wątków
- 5. Jak mogę wyczyścić plik dziennika log4net?
- 6. Wiele plików dziennika z log4j
- 7. log4net źle generowania dziennika nazwę pliku
- 8. Get log4net plik dziennika w C#
- 9. Skracanie strony generowane przez javascript z C#
- 10. Serilog - wiele plików dziennika
- 11. Wiele wątków i pamięci
- 12. ScheduledExecutorService wiele wątków równolegle
- 13. Wiele wątków Delphi
- 14. Wiele wątków czytających z tego samego pliku
- 15. Wiele wątków z dostępem samej tablicy wielowymiarowej
- 16. Wiele wątków aplikacji internetowej
- 17. Jak zaimplementować automatyczną archiwizację pliku dziennika przy użyciu Log4Net
- 18. Aplikacja Metro FileIO.WriteTextAsync Wiele wątków
- 19. Jak dodać wcięcie do wpisu dziennika wieloliniowego w log4net?
- 20. Niestandardowa nazwa pliku w toczącym się pliku dziennika Log4Net?
- 21. JPA: kolumny generowane przez bazę danych
- 22. Java Swingworker i wiele wątków
- 23. log4net log4net.Util.PatternString configure z kodu
- 24. Wrap Wartości CSV generowane przez PHP fputcsv() z ""
- 25. AndroidManifest.out.xml generowane z błędami
- 26. Node.js Dodatek C++: Wiele wywołań zwrotnych z różnych wątków
- 27. Odczytywanie pliku używanego przez inny proces
- 28. java.util.NoSuchElementException - Odczytywanie przez skanera danych wprowadzanych przez użytkownika
- 29. Wiele wątków SBCL napisz do standardowego wyjścia
- 30. konfiguracja log4net z [montażu:]
Thread.Name Link MSDN: http://msdn.microsoft.com/en-us/library/system.threading.thread.name.aspx –
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. –