2017-12-12 3 views
0

私はAmazon EC2インスタンス上で動作するJavaアプリケーションを持っています。そして私はERRORと私のアプリケーションのためにDEBUGのログを維持するために、Apache log4jログフレームワークを使用しています。Log4jはサーバ上ではなくローカルでエラースタックトレースを出力します

最近、私は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

です。ありがとうございました。

答えて

1

は、最初のものはあなたが継承階層全体のすべてのクラスで実際のクラスの名前を使用することを可能にする代わりに

final Logger logger = LoggerFactory.getLogger(MyClass.class); 

final Logger logger = LoggerFactory.getLogger(getClass()); 

を使用してみてください。

関連する問題