-3

おい、私はlog4jとslf4で休止状態3.5を使用していました。そして、それは機能し、パラメーター値をログに記録し、バインドしていました。そのため、休止状態を 4.1.1 バージョンに更新しました。その後、log4 は休止状態に関する情報を記録しません (また、SQL パラメーターの値は表示されません)。新しいバージョンが jboss ロギングを使用していることは知っていますが、削除しようとしても機能しませんでした。GlassFish 3.1.1.2(build5) を使用しています。私のライブラリには次のものがあります:

-commons-logging
-slf4j-log4j
-log4j(1.2.17)
-slf4j-api(1.7.2)

私のlog4j.propertiesとhibernate.cfgに従ってください

hibernate.cfg

<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>

log4.properties

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=D:\\teste.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

# Direct log messages to stdout
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

# Root logger option
log4j.rootLogger=INFO, file, stdout

# Log everything. Good for troubleshooting
log4j.logger.org.hibernate=INFO

log4j.logger.org.hibernate.type=ALL
log4j.logger.org.hibernate.jdbc=trace

だから、私の teste.log を見ることができるように、それは他のもののために働きます:

13:52:36,692  INFO AbstractTilesApplicationContextFactory:76 - Initializing Tiles2     application context. . .
13:52:36,707  WARN ChainedTilesApplicationContextFactory:117 - Cannot find    TilesContextFactory class   org.apache.tiles.portlet.context.PortletTilesApplicationContextFactory
13:52:36,707  INFO AbstractTilesApplicationContextFactory:95 - Finished initializing Tiles2 application context.
13:52:36,708  WARN ChainedTilesApplicationContextFactory:117 - Cannot find TilesContextFactory class org.apache.tiles.portlet.context.PortletTilesApplicationContextFactory
13:52:36,770  WARN TilesContainerFactory:365 - DEPRECATION WARNING! You are using parameter-based initialization, that is no longer supported! Please see docs:  http://tiles.apache.org/framework/tutorial/configuration.html
13:52:36,771  INFO TilesContainerFactory:372 - Initializing Tiles2 container. . .
13:52:36,774  WARN ChainedTilesApplicationContextFactory:117 - Cannot find TilesContextFactory class org.apache.tiles.portlet.context.PortletTilesApplicationContextFactory
13:52:36,780  INFO ChainedTilesRequestContextFactory:105 - Cannot find TilesRequestContextFactory class org.apache.tiles.portlet.context.PortletTilesRequestContextFactory, skipping support for the managed platform
13:52:36,836  WARN BaseLocaleUrlDefinitionDAO:209 - Unable to find configured definition '/WEB-INF/tiles.xml'
13:52:36,907  INFO TilesContainerFactory:382 - Tiles2 container initialized
13:52:36,909  INFO TilesAccess:113 - Publishing TilesContext for context: org.apache.tiles.servlet.context.ServletTilesApplicationContext

ただし、次のようにサーバーの stdout に情報を表示する休止状態。休止状態が表示に何を使用しているかわかりません。jboss ログを削除すると、表示され続けます

Informações: Hibernate: 
select
    this_.cobs_id as cobs1_5_0_,
    this_.cobs_attributes as cobs2_5_0_,
    this_.cobs_description as cobs3_5_0_,
    this_.cobs_name as cobs4_5_0_,
    this_.cobs_position as cobs5_5_0_,
    this_.cobs_sequence as cobs6_5_0_,
    this_.cobs_status as cobs7_5_0_,
    this_.cobs_template as cobs8_5_0_,
    this_.cobs_cosi_id as cobs9_5_0_ 
from
    core.core_blocks this_ 
where
    this_.cobs_cosi_id=? 
    and not exists (
        select
            1 
        from
            core.core_groups_blocks 
        where
            this_.cobs_id=cogb_cobs_id
    ) 
order by
    this_.cobs_sequence asc
Informações: Hibernate: 

サーバーの標準出力を確認すると、次のことがわかりました。

Informações: HHH000046: Connection properties: {user=root, password=****}
Informações: HHH000006: Autocommit mode: false

おそらく休止状態は情報を登録するために他のログを使用していますが、私はそれを見つけることができません

4

1 に答える 1

0

どうやら問題はGlassFish 3.1.2.2が原因で、私はglassfish 3.1.2をインストールして問題を修正しました

于 2012-10-18T16:51:06.617 に答える