Wpis z mikrobloga

#programowanie #java

Czy logi powinny być zawsze jednolinijkowe czy mogą być wielolinijkowe?

Jeśli to ważne, to chodzi o ekosystem Javowy.

Logi:

  • Zawsze powinny być jednowierszowe 39.3% (22)
  • Mogą być wielowierszowe 60.7% (34)

Oddanych głosów: 56

  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jako argumenty za dwoma zdaniami dodam:
- Zawsze powinny być jednowierszowe, bo wielolinijkowe ciężko przetwarzać. Ciężko zrobić grepa, a także narzędzia jak Logstash czy Kibana źle sobie radzą z wieloma wierszami w logach.
- Mogą być wielowierszowe, bo lepiej je się czyta (np. JSON-a czy XML-a w logach jak jest potrzeba). A nawet sama Java produkuje wielowierszowy log w stacktrace.
- Zawsze powinny być jednowierszowe, bo jednak stracktrace to sytuacja wyjątkowa, więc
  • Odpowiedz
@mk321: Jeśli logi będą przetwarzane przez jakieś automaty to najlepiej jednolinijkowe. Wtedy ten XML może zostać spokojnie sparsowany i sformatowany przez jakieś narzędzia do przeglądania logów.
Jeśli ma je czytać człowiek to niech będzie wielolinijkowy
  • Odpowiedz
@mk321: mogą być mieszane. W zależności od treści jakiej poszukujemy możemy wyszukiwać pojedynczych wierszy lub całych zakresów, jeżeli wiemy, że szukane dane są w wielu liniach. Np. szukamy słowa "error" i spodziewamy się jednowierszowych rekordów. Natomiast gdy szukamy "exception" to odczytujemy cały np. callstack.

Jednak wszystko zależy od konkretnego przypadku.
  • Odpowiedz