Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Log4j在本地而不是服务器上打印错误堆栈跟踪_Java_Logging_Amazon Ec2_Slf4j_Slf4j Api - Fatal编程技术网

Java Log4j在本地而不是服务器上打印错误堆栈跟踪

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

我有一个Java应用程序在AmazonEC2实例上运行。我正在使用ApacheLog4J日志框架来维护我的应用程序的
错误
以及
调试
日志

但最近我无法使用
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);
第一个允许您在整个继承层次结构的所有类中使用实际类的名称