2014-04-17 8 views
15

Chcę napisać zalogować jak:logback pokaż logi z numerem linii

2014-04-17 11:00:16.408 [http-apr-9090-exec-4] DEBUG package.method(line) - log. 

więc config z logback.xml, w strukturze, config jak:

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M(%line) - %msg%n 

Każda rzecz pokazuje ok wyjątkiem liczba linii, a jeśli dodać ustawić jak

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M %line - %msg%n 

Wtedy wszystkie prace. więc w mojej konfiguracji musi być coś nie tak.
Czy ktoś może mi pomóc? Dzięki. Chcę wyświetlać to, co chcę, i bez spacji między nazwą metody a numerem linii.

Odpowiedz

29

W Logback manual stany

W PatternLayout, nawias może być użyty do konwersji grupy wzorów. Wynika z tego, że "(" i ")" mają specjalne znaczenie, a należy unikać, jeśli mają być używane jako literały. Specjalny charakter nawiasów jest dokładniej wyjaśniony poniżej.

[...]

Jeśli trzeba traktować znak nawiasu jako dosłowne, potrzebuje być uciekł poprzedzając każdy nawias z odwrotnym ukośnikiem. Jak w, \(%d{HH:mm:ss.SSS} [%thread]\).

Będziesz musiał uciec z nawiasu za pomocą \.

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M\(%line\) - %msg%n 
+0

Co potrzebuję pełnej nazwy paczki i linii, którą IDEA może rozpoznać? – Jaskey

+0

@Jaskey, Możesz dodać% c {15} we wzorze. – dkb