1

Oracle (10g) で新しい Java(1.4) ストアド プロシージャを開発しました。私はこれまでこれをやったことがなく、通常は Java と DB を分離したままにしていますが、これは必要条件でした。そこで、Tomcat にデプロイできる Java コードと Oracle のストアド プロシージャを開発しました。これには、Java Logging API を使用しました。

Oracle でストアド プロシージャを実行できますが、ログが見つかりません。ログを印刷するにはどうすればよいかを知りたいのですが、それは Oracle ログまたは trc ファイルにすることができます。また、可能であれば、ログを別の特定のフォルダーに印刷するように構成することもできます。

これを達成する方法を知っている人はいますか?

4

1 に答える 1

1

この回答で PeskyGnat によって指定されているように、次のフォルダーに logging.properties ファイルを作成する必要があります。

$ORACLE_HOME/javavm/lib

このファイルを構成すると、次の場所にログが表示されます。

$ORACLE_BASE/admin/$INSTANCE/udump

私の場合、これは Solaris だったので、最初のパスは次のとおりでした。

/export/home/oracle/app/oracle/product/10.2.0/Db_1/javavm/lib

そして2番目のもの:

/export/home/oracle/app/oracle/admin/



追加情報として、ログ ファイルを見つけやすくするために、Bash シェルで次のように入力できます。

ls -altr

これは、logging.properties ファイルの例です。

############################################################
#   Default Logging Configuration File
#
# You can use a different file by specifying a filename
# with the java.util.logging.config.file system property.  
# For example java -Djava.util.logging.config.file=myfile
############################################################
############################################################
#   Global properties
############################################################
# "handlers" specifies a comma separated list of log Handler 
# classes.  These handlers will be installed during VM startup.
# Note that these classes must be on the system classpath.
# By default we only configure a ConsoleHandler, which will only
# show messages at the INFO and above levels.
handlers= java.util.logging.ConsoleHandler
# To also add the FileHandler, use the following line instead.
#handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler
# Default global logging level.
# This specifies which kinds of events are logged across
# all loggers.  For any given facility this global level
# can be overriden by a facility specific level
# Note that the ConsoleHandler also has a separate level
# setting to limit messages printed to the console.
.level= INFO
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
# default file output is in user's home directory.
java.util.logging.FileHandler.pattern = %h/java%u.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
# Limit the message that are printed on the console to INFO and above.
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################

# For example, set the com.xyz.foo logger to only log SEVERE
# messages:
**<your.class.logger>.level = <level> (i.e.: INFO)**
于 2012-12-10T17:46:37.797 に答える