2016-09-28 80 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; 
} 

登錄得到印在控制檯現在在eclipse:

[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(「Error:」+ e.toString())'。相反,使用''''logger.error(「Error:」,e)'將打印堆棧跟蹤。 –

+0

Deinum在更改爲e.toString()後仍然無法工作() – bharathi

+1

您是否真的閱讀了我的評論?而不是使用'',''這是我寫的。 'toString'就是你已經擁有的東西(並在那裏澄清。 –

回答

3

通過

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

前者實際上連接字符串,並調用Logger.error(String)它只需登錄該連接字符串替換

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

。但後來有人呼籲Logger.error(String, Throwable)Throwable(超級Exception)是分開管理。