2016-11-25 2 views
0

Я использую wildfly и имею проблему с выходом обработчика журнала FILE. Он печатает каждую строку ошибки трассировки стека с полной форматированной формой. Вот это вырезанные пример:Дата регистрации Wildfly на каждой строке трассировки стека

12:13:11,238 ERROR [stderr] (default task-48) org.apache.shiro.authc.UnknownAccountException: Realm [[email protected]a1] was unable to find account data for the submitted AuthenticationToken [org.apache.shiro.authc.UsernamePasswordToken - XXX, rememberMe=false]. 
12:13:11,238 ERROR [stderr] (default task-48) at org.apache.shiro.authc.pam.ModularRealmAuthenticator.doSingleRealmAuthentication(ModularRealmAuthenticator.java:184) 
12:13:11,238 ERROR [stderr] (default task-48) at org.apache.shiro.authc.pam.ModularRealmAuthenticator.doAuthenticate(ModularRealmAuthenticator.java:267) 
12:13:11,238 ERROR [stderr] (default task-48) at org.apache.shiro.authc.AbstractAuthenticator.authenticate(AbstractAuthenticator.java:198) 
12:13:11,238 ERROR [stderr] (default task-48) at org.apache.shiro.mgt.AuthenticatingSecurityManager.authenticate(AuthenticatingSecurityManager.java:106) 
... 

Я просто хотел, чтобы иметь линию с "12:13:11,238 ERROR [stderr] (default task-48)" один раз в начале и каждую партию трассировки стека, начиная с «на» не в качестве новой строки журнала истолковано как новый строка журнала.

У меня есть дополнительный обработчик журнала SMTP, и есть та же проблема. Поэтому он отправляет электронное письмо для каждой строки трассировки стека, а не по электронной почте за ошибку или исключение.

Заранее спасибо.

ответ

2

Это выглядит как кто-то оставил что-то вроде следующего в коде:

try { 
     // do something that throws an exception 
    } catch (SomeException e) { 
     e.printStackTrace(); 
    } 

я был бы очень удивлен, если бы это было в Apache Shiro кода.

В общем, это хорошая идея, чтобы использовать один из многих библиотек лесозаготовительных вокруг и сообщают, что нравится:

} catch (SomeException e) { 
     logger.error("Something failed", e); 
    } 

В некоторых случаях, если вы используете консоль Appender или обработчик, определенный в конфигурации протоколирования в пределах ваше развертывание также может привести к этому. Причина в том, что WildFly обертывает как System.out, так и System.err в регистраторе. Это приведет к формату, который вы видите.

+0

Я не распечатываю трассировку стека. Кроме того, я использую logback в приложении, поэтому у меня есть два файла журнала, журнал сервера и журнал приложений. Я уже делаю обработку исключений так, как вы ее описали, и журнал приложений с записью выглядит нормально, но такая же ошибка в журнале сервера wildfly выглядит так, как описано выше, поэтому я думаю, что это проблема с обработкой ошибок wildfly. – DaTa

+0

Вы используете журнал ConsoleAppender? –

+0

Отлично, это был правильный намек. Я удалил консольный appender, и он отлично работает. Большое спасибо. – DaTa

Смежные вопросы