Java Log4j在本地而不是服务器上打印错误堆栈跟踪
我有一个Java应用程序在AmazonEC2实例上运行。我正在使用ApacheLog4J日志框架来维护我的应用程序的Java Log4j在本地而不是服务器上打印错误堆栈跟踪,java,logging,amazon-ec2,slf4j,slf4j-api,Java,Logging,Amazon Ec2,Slf4j,Slf4j Api,我有一个Java应用程序在AmazonEC2实例上运行。我正在使用ApacheLog4J日志框架来维护我的应用程序的错误以及调试日志 但最近我无法使用logger.error(字符串消息,Throwable t)记录错误堆栈跟踪 我试着这样交替记录 final Logger logger = LoggerFactory.getLogger(MyClass.class); StringWriter sWriter = new StringWriter(); e.printStackTrace(n
错误
以及调试
日志
但最近我无法使用logger.error(字符串消息,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
文件仅显示从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
如果我在本地运行该应用程序,我可以看到错误打印堆栈跟踪,但在我的AmazonEC2实例上不起作用
log4j版本是1.7.2
JDK版本是1.7.0_151
感谢您的帮助。谢谢。尝试使用
final Logger logger = LoggerFactory.getLogger(getClass());
而不是
final Logger logger = LoggerFactory.getLogger(MyClass.class);
第一个允许您在整个继承层次结构的所有类中使用实际类的名称