Редактировать 3 : Работает! Короче говоря: в папке lib glassfish были: slf4j-api-1.5.8.jar и jlf4j-jdk14-1.5.8.jar! В любом случае я переместил их в "старую" папку, созданную в lib, а затем скопировал в папку следующее:
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.1.jar
jcl-over-slf4j-1.6.1.jar
log4j-1.2.16.jar
(как раз то, что у меня было в пути к классу, но теперь на сервере приложений, и все работает, как ожидалось)
Я мог бы поместить файл log4j.xml и в glassfish, но я просто оставлю его в своем приложении, поэтому я может вести журнал для конкретного приложения.
Я дам ответ, переработаю вопрос, чтобы он стал более полезным (в настоящее время слишком много информации, которая бесполезна).
Обновление : Я собирался ответить самостоятельно, но долго ждал. Приму ответ Стивенса, так как он оказался наиболее полезным при выяснении этого вопроса.
То, что следует ниже, является историческим ...
Править 2: Я не знаю почему, но, возможно, ему есть чем заняться. with, развертывание на Glassfish v3. Glassfish использует ведение журнала утилит Java, вот изображение http://blog.saddey.net/2010/03/27/how-to-deploy-a-grails-application-to-glassfish/ и описание из того, что делают некоторые люди с Grails, чтобы вести журнал (не то чтобы я использую grails), может быть, использование jul имеет больше смысла, как показывает эта диаграмма?
Я также получаю эти ошибки, если я повторно развертываюсь, не удаляя приложение frist:
SEVERE: log4j:ERROR log4j called after unloading, see http://logging.apache.org/log4j/1.2/faq.html#unload.
SEVERE: java.lang.IllegalStateException: Class invariant violation
Edit , я все еще застрял:
Ведение журнала работает для Spring и Struts2, но я не могу получить спящий режим для печати SQL (или чего-либо еще) с помощью log4j, и это важно, потому что, хотя я могу перейти в спящий режим для печати SQL, используя
в persistence.xml единственный способ показать параметры SQL - это ведение журнала, что для меня важно прямо сейчас.
Для большей ясности есть некоторые информационные сообщения, связанные со спящим режимом, когда приложение запускается, но пока я делаю запросы к БД ничего не отображается.
Итак, раз уж я схожу с ума, я перечисляю свой pom, log4j.xml, applicationContext.xml, и, если у меня будет время, я дам ссылки на многие сайты, которые я посетил ( включая SO Q&A).
pom.xml
Возникает очевидный вопрос, какие файлы журналов используются, и ответ: jcl-over-slf4j-1.6.1.jar, slf4j-log4j12-1.6.1.jar, log4j-1.2.16.jar и slf4j-api-1.6.1 (я также исключил commons-logging) ... также пробовал версия 1.5.8 для jcl-over-slf4j, slf4j-api.
4.0.0
com.test
PartGroupMaster
2011.04.12
war
PartGroupMaster Web App
${project.build.directory}/endorsed
UTF-8
gfv3ee6
JBoss Repo
http://repository.jboss.com/maven2
JBoss Repo
ibiblio mirror
http://mirrors.ibiblio.org/pub/mirrors/maven2/
jboss-public-repository-group
JBoss Public Maven Repository Group
https://repository.jboss.org/nexus/content/groups/public/
default
true
never
true
never
http://ftp.ing.umu.se/mirror/eclipse/rt/eclipselink/maven.repo
eclipselink
default
Repository for library Library[eclipselink]
org.apache.struts
struts2-core
2.2.3
org.apache.struts
struts2-convention-plugin
2.2.3
org.apache.struts
struts2-spring-plugin
2.2.3
spring-beans
org.springframework
spring-context
org.springframework
spring-core
org.springframework
spring-web
org.springframework
org.springframework
spring-tx
3.0.5.RELEASE
commons-logging
commons-logging
org.springframework
spring-orm
3.0.5.RELEASE
org.springframework
spring-web
3.0.5.RELEASE
mysql
mysql-connector-java
5.1.15
org.hibernate
hibernate-entitymanager
3.6.6.Final
org.apache.struts
struts2-config-browser-plugin
2.2.3
org.eclipse.persistence
javax.persistence
2.0.3
provided
org.apache.struts
struts2-json-plugin
2.2.3
commons-beanutils
commons-beanutils
1.8.0
commons-logging
commons-logging
org.slf4j
slf4j-log4j12
1.6.1
log4j
log4j
1.2.16
org.slf4j
jcl-over-slf4j
1.6.1
org.hibernate
hibernate-validator
4.2.0.Final
org.hibernate
hibernate-jpamodelgen
1.1.1.Final
org.slf4j
slf4j-api
1.6.1
javax
javaee-web-api
6.0
provided
junit
junit
4.8.1
test
org.apache.maven.plugins
maven-compiler-plugin
2.3.2
1.6
${endorsed.dir}
org.apache.maven.plugins
maven-war-plugin
2.1
false
org.apache.maven.plugins
maven-dependency-plugin
2.1
validate
copy
${endorsed.dir}
true
javax
javaee-endorsed-api
6.0
jar
maven-antrun-plugin
process-classes
run
PartGroupMaster
log4j.xml
applicationContext.xml (обрезано)
... removed service beans...
Что выводится на консоль при запуске:
INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
INFO: Hibernate Annotations 3.5.0-Final
INFO: Hibernate 3.5.0-Final
INFO: hibernate.properties not found
INFO: Bytecode provider name : javassist
INFO: using JDK 1.4 java.sql.Timestamp handling
INFO: Hibernate Commons Annotations 3.2.0.Final
INFO: Hibernate EntityManager 3.5.0-Final
...removed logging for peristence unit which was mostly just pages of "Binding Named query:..."
INFO: Hibernate Validator not found: ignoring
INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
INFO: Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
INFO: Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
INFO: Using provided datasource
INFO: RDBMS: DB2 UDB for AS/400, version: 06.01.0000 V6R1m0
INFO: JDBC driver: AS/400 Toolbox for Java JDBC Driver, version: 9.4
INFO: Using dialect: org.hibernate.dialect.DB2400Dialect
INFO: Disabling contextual LOB creation as JDBC driver reported JDBC version [3] less than 4
INFO: Transaction strategy: org.hibernate.ejb.transaction.JoinableCMTTransactionFactory
INFO: instantiating TransactionManagerLookup: org.hibernate.transaction.SunONETransactionManagerLookup
INFO: instantiated TransactionManagerLookup
INFO: Automatic flush during beforeCompletion(): disabled
INFO: Automatic session close at end of transaction: disabled
INFO: Scrollable result sets: enabled
INFO: JDBC3 getGeneratedKeys(): enabled
INFO: Connection release mode: auto
INFO: Default batch fetch size: 1
INFO: Generate SQL with comments: disabled
INFO: Order SQL updates by primary key: disabled
INFO: Order SQL inserts for batching: disabled
INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
INFO: Using ASTQueryTranslatorFactory
INFO: Query language substitutions: {}
INFO: JPA-QL strict compliance: enabled
INFO: Second-level cache: enabled
INFO: Query cache: disabled
INFO: Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory
INFO: Optimize cache for minimal puts: disabled
INFO: Structured second-level cache entries: disabled
INFO: Statistics: disabled
INFO: Deleted entity synthetic identifier rollback: disabled
INFO: Default entity-mode: pojo
INFO: Named query checking : enabled
INFO: Check Nullability in Core (should be disabled when Bean Validation is on): disabled
INFO: building session factory
INFO: Not binding factory to JNDI, no JNDI name configured
INFO: JNDI InitialContext properties:{}
INFO: PWC1412: WebModule[null] ServletContext.log():Initializing Spring root WebApplicationContext
INFO: Root WebApplicationContext: initialization started
INFO: Refreshing Root WebApplicationContext: startup date [Wed Jul 27 15:04:50 MDT 2011]; root of context hierarchy
INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
INFO: JSR-250 'javax.annotation.ManagedBean' found and supported for component scanning
INFO: JSR-330 'javax.inject.Named' annotation found and supported for component scanning
INFO: JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
INFO: Building JPA container EntityManagerFactory for persistence unit 'co05in'
...removed logging for peristence unit which was mostly just pages of "Binding Named query:..."
INFO: Hibernate Validator not found: ignoring
INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
INFO: Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
INFO: Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
INFO: Using provided datasource
INFO: RDBMS: DB2 UDB for AS/400, version: 06.01.0000 V6R1m0
INFO: JDBC driver: AS/400 Toolbox for Java JDBC Driver, version: 9.4
INFO: Using dialect: org.hibernate.dialect.DB2400Dialect
INFO: Disabling contextual LOB creation as JDBC driver reported JDBC version [3] less than 4
INFO: Transaction strategy: org.hibernate.ejb.transaction.JoinableCMTTransactionFactory
INFO: instantiating TransactionManagerLookup: org.hibernate.transaction.SunONETransactionManagerLookup
INFO: instantiated TransactionManagerLookup
INFO: Automatic flush during beforeCompletion(): disabled
INFO: Automatic session close at end of transaction: disabled
INFO: Scrollable result sets: enabled
INFO: JDBC3 getGeneratedKeys(): enabled
INFO: Connection release mode: auto
INFO: Default batch fetch size: 1
INFO: Generate SQL with comments: disabled
INFO: Order SQL updates by primary key: disabled
INFO: Order SQL inserts for batching: disabled
INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
INFO: Using ASTQueryTranslatorFactory
INFO: Query language substitutions: {}
INFO: JPA-QL strict compliance: enabled
INFO: Second-level cache: enabled
INFO: Query cache: disabled
INFO: Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory
INFO: Optimize cache for minimal puts: disabled
INFO: Structured second-level cache entries: disabled
INFO: Statistics: disabled
INFO: Deleted entity synthetic identifier rollback: disabled
INFO: Default entity-mode: pojo
INFO: Named query checking : enabled
INFO: Check Nullability in Core (should be disabled when Bean Validation is on): disabled
INFO: building session factory
INFO: Not binding factory to JNDI, no JNDI name configured
INFO: JNDI InitialContext properties:{}
INFO: Bean 'entityManagerFactory' of type [class org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@5ecada2f: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,dataSource,org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor#0,entityManagerFactory,transactionManager,inventoryService,codeService,orderService,addressService,partService,pickTicketService,employeeService,batchService,rateCodeService,payPeriodService,basicORMParser,org.springframework.aop.config.internalAutoProxyCreator,org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0,org.springframework.transaction.interceptor.TransactionInterceptor#0,org.springframework.transaction.config.internalTransactionAdvisor]; root of factory hierarchy
INFO: Using JTA UserTransaction: com.sun.enterprise.transaction.UserTransactionImpl@72ae2192
INFO: Using JTA TransactionManager: com.sun.enterprise.transaction.TransactionManagerHelper@61e3310
INFO: Using JTA TransactionSynchronizationRegistry: com.sun.enterprise.transaction.TransactionSynchronizationRegistryImpl@2877770c
INFO: Root WebApplicationContext: initialization completed in 4725 ms
INFO: Parsing configuration file [struts-default.xml]
INFO: Parsing configuration file [struts-plugin.xml]
INFO: Parsing configuration file [struts.xml]
INFO: Initializing Struts-Spring integration...
INFO: Setting autowire strategy to name
INFO: ... initialized Struts-Spring integration successfully
INFO: WEB0671: Loading application [com.aerose_PartGroupMaster_war_2011.04.12] at [/com.aerose_PartGroupMaster_war_2011.04.12]
INFO: com.aerose_PartGroupMaster_war_2011.04.12 was successfully deployed in 25,884 milliseconds.
INFO: log4j: reset attribute= "false".
INFO: log4j: Threshold ="null".
INFO: log4j: Retreiving an instance of org.apache.log4j.Logger.
INFO: log4j: Setting [com.opensymphony] additivity to [true].
INFO: log4j: Level value for com.opensymphony is [ERROR].
INFO: log4j: com.opensymphony level set to ERROR
INFO: log4j: Class name: [org.apache.log4j.ConsoleAppender]
INFO: log4j: Setting property [target] to [System.out].
INFO: log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
INFO: log4j: Setting property [conversionPattern] to [%d{ABSOLUTE} %5p %c{1}:%L - %m%n].
INFO: log4j: Adding appender named [STDOUT] to category [com.opensymphony].
INFO: log4j: Retreiving an instance of org.apache.log4j.Logger.
INFO: log4j: Setting [org.apache.struts2] additivity to [true].
INFO: log4j: Level value for org.apache.struts2 is [ERROR].
INFO: log4j: org.apache.struts2 level set to ERROR
INFO: log4j: Adding appender named [STDOUT] to category [org.apache.struts2].
INFO: log4j: Retreiving an instance of org.apache.log4j.Logger.
INFO: log4j: Setting [org.hibernate] additivity to [true].
INFO: log4j: Level value for org.hibernate is [TRACE].
INFO: log4j: org.hibernate level set to TRACE
INFO: log4j: Adding appender named [STDOUT] to category [org.hibernate].
INFO: log4j: Retreiving an instance of org.apache.log4j.Logger.
INFO: log4j: Setting [org.hibernate.hql] additivity to [true].
INFO: log4j: Level value for org.hibernate.hql is [TRACE].
INFO: log4j: org.hibernate.hql level set to TRACE
INFO: log4j: Adding appender named [STDOUT] to category [org.hibernate.hql].
INFO: log4j: Retreiving an instance of org.apache.log4j.Logger.
INFO: log4j: Setting [org.hibernate.SQL] additivity to [true].
INFO: log4j: Level value for org.hibernate.SQL is [TRACE].
INFO: log4j: org.hibernate.SQL level set to TRACE
INFO: log4j: Adding appender named [STDOUT] to category [org.hibernate.SQL].
INFO: log4j: Retreiving an instance of org.apache.log4j.Logger.
INFO: log4j: Setting [org.hibernate.type] additivity to [true].
INFO: log4j: Level value for org.hibernate.type is [TRACE].
INFO: log4j: org.hibernate.type level set to TRACE
INFO: log4j: Adding appender named [STDOUT] to category [org.hibernate.type].
INFO: log4j: Retreiving an instance of org.apache.log4j.Logger.
INFO: log4j: Setting [org.springframework] additivity to [true].
INFO: log4j: Level value for org.springframework is [WARN].
INFO: log4j: org.springframework level set to WARN
INFO: log4j: Adding appender named [STDOUT] to category [org.springframework].
INFO: log4j: Level value for root is [INFO].
INFO: log4j: root level set to INFO
INFO: log4j: Adding appender named [STDOUT] to category [root].