私はSpringでHibernateを学習しており、JSF 2.0で同じものを使用してアプリケーションを作成しています. アプリケーションでロギングを構成しようとしていますが、コード内のログ ステートメントが出力 (私の場合はコンソール) に送信されないようです。
ただし、Hibernate のログ ステートメントは表示されます:|
以下は私のプロジェクト構造です:
そして私のlog4j.properties:
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.rootLogger=debug, stdout
log4j.logger.org.hibernate=info
log4j.logger.org.springframework=warn
log4j.logger.org.hibernate.hql.ast.AST=info
log4j.logger.org.hibernate.SQL=debug
log4j.logger.org.hibernate.type=info
log4j.logger.org.hibernate.tool.hbm2ddl=warn
log4j.logger.org.hibernate.hql=info
log4j.logger.org.hibernate.cache=info
log4j.logger.org.hibernate.jdbc=info
コンテキスト リスナー クラスのコードは次のとおりです。
import org.apache.log4j.Logger;
...
...
...
public class HibernateListener implements ServletContextListener
{
private static final String CFG_PATH = "/WEB-INF/hibernate.cfg.xml";
private static final Logger LOGGER = Logger.getLogger(HibernateListener.class);
@Override
public void contextDestroyed(ServletContextEvent event) {
HibernateUtil.getSessionFactory().close();
}
@Override
public void contextInitialized(ServletContextEvent event) {
URL configFile = null;
try {
configFile = event.getServletContext().getResource(CFG_PATH);
HibernateUtil.buildSessionFactory(configFile);
LOGGER.info("Context initialization successful");
System.out.println("Context initialization successful");
}
catch (MalformedURLException e) {
System.err.println("Could not load hibernate configuration file - " + configFile);
}
}
}
INFO ステートメントも sysout も表示されません...