2016-09-28 2 views
0

Я не могу напечатать трассировку стека регистратора в моей консоли eclipse.Логгер не печатает трассировку стека весной mvc

log4j.properties

log4j.rootLogger=ERROR,console 

    #Console Appender 
    log4j.appender.console=org.apache.log4j.ConsoleAppender 
    log4j.appender.console.layout=org.apache.log4j.PatternLayout 
    log4j.appender.console.layout.ConversionPattern=[%5p] [%t %d{hh:mm:ss}] (%F:%M:%L) %m%n 

    #Custom assignments 
    log4j.logger.controller=INFO,console 
    log4j.logger.service=INFO,console 

    #Disable additivity 
    log4j.additivity.controller=false 
    log4j.additivity.service=false 

слоя Услуга:

@Override 
@Transactional(readOnly = true) 
public List<MRPSDepositHistory> getDepositDetails(String searchCondition, 
     String searchText, String jtSorting, int startPaginationVal, 
     int endPaginationVal) { 
    String searchConditionEmpty = ManagementConstants.SEARCHCONDITIONNONE; 

    List<MRPSDepositHistory> fileNetStatus = new ArrayList<MRPSDepositHistory>(); 
    try { 
     if (!searchConditionEmpty.equalsIgnoreCase(searchCondition)) { 
      if (searchCondition.equalsIgnoreCase(ManagementConstants.DEPOSITNUMBERKEY)) { 
       fileNetStatus = mrpsDepositHistoryDao.findByDepositNumber(
         searchCondition, Short.valueOf(searchText), jtSorting, 
         startPaginationVal, endPaginationVal); 
      } else { 
       fileNetStatus = mrpsDepositHistoryDao.findBySearchText(
         searchCondition, searchText, jtSorting, 
         startPaginationVal, endPaginationVal); 
      } 
     } else { 
      fileNetStatus = mrpsDepositHistoryDao.findByRestrictions(
        searchCondition, searchText, jtSorting); 
     } 
    } 
    catch (NumberFormatException e) { 

     logger.error("ERROR:" + e); 
    } 
    return fileNetStatus; 
} 

Вход получать отпечатанные в консоли сейчас в затмении:

[ERROR] [http-bio-8080-exec-9 03:46:16] (MrpsDepositHistoryServiceImpl.java:getDepositDetails:57) ERROR:java.lang.NumberFormatException: Value out of range. Value:"353453454" Radix:10

То, что я сделал неправильно в приведенном выше коде.

+1

Неверно '+' ... Это в основном перезаписывает 'logger.error (« Ошибка: »+ e.toString())'. Вместо этого используйте ',' ... 'logger.error (« Ошибка: », e)', который выведет стек. –

+0

Deinum все еще не работает после перехода на e.toString() – bharathi

+1

Вы действительно прочитали мой комментарий? Вместо '+' use ',' это то, что я написал. «ToString» - это то, что у вас уже было (и было там для уточнения. –

ответ

3

Заменить

logger.error("ERROR:"+ e); 

по

logger.error("ERROR:", e); 

Бывший один фактически конкатенацию строк и вызывает Logger.error(String), которые просто регистрирует, что каскадный строку. Но позже один вызывает Logger.error(String, Throwable), где Throwable (супер класс Exception) управляется отдельно.

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