[英]Log4j prints error stacktrace on local but not on server
我有一個在Amazon EC2實例上運行的Java應用程序。 我正在使用Apache log4j日志記錄框架來維護我的應用程序的ERROR
以及DEBUG
日志。
但是最近我無法使用logger.error(String Message, Throwable t)
記錄錯誤堆棧跟蹤。
我嘗試這樣登錄,
final Logger logger = LoggerFactory.getLogger(MyClass.class);
StringWriter sWriter = new StringWriter();
e.printStackTrace(new PrintWriter(sWriter));
logger.error("Exception occured while fetching count from DB", sWriter);
但是.log
文件僅顯示消息, Exception occurred while fetching count from DB
我的log4j.properties
文件看起來像這樣
# Root logger
log4j.rootLogger=INFO, RollingAppender
# LOG4J daily rolling log files configuration
log4j.rootLogger=${loggingType}, RollingAppender
log4j.appender.RollingAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.RollingAppender.File=${logFile}
log4j.appender.RollingAppender.DatePattern='.'yyyy-MM-dd
log4j.appender.RollingAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.RollingAppender.layout.ConversionPattern=%d [%p] %c %M - %m%n
如果我在本地運行該應用程序,則可以看到錯誤的打印堆棧跟蹤,但在我的Amazon EC2實例上無法正常運行。
log4j版本為1.7.2
JDK版本是1.7.0_151
任何幫助表示贊賞。 謝謝。
嘗試使用
final Logger logger = LoggerFactory.getLogger(getClass());
代替
final Logger logger = LoggerFactory.getLogger(MyClass.class);
第一個允許您在整個繼承層次結構的所有類中使用實際類的名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.