使用Java Logging API记录Oracle Java存储过程(java.util.logging)

我在Oracle(10g)中开发了一个新的Java(1.4)存储过程。 我以前从未这样做过,我通常会将Java和DB分开,但这是必需的。 所以我开发了一个可以部署在Tomcat中的Java代码以及Oracle中的存储过程。 为此,我使用了Java Logging API。

我可以在Oracle中执行存储过程,但是找不到日志。 我想知道我应该怎么做才能打印日志,它可以是Oracle日志或trc文件,甚至,如果可能的话,配置它以将日志打印到另一个特定文件夹。

有谁知道如何实现这一目标?

由PeskyGnat在此答案中指定您必须在文件夹中创建logging.properties文件:

$ ORACLE_HOME / JavaVM的/ lib目录

配置此文件后,您可以在以下位置查看日志:

$ ORACLE_BASE /管理/ $ INSTANCE / UDUMP

就我而言,这是Solaris所以第一条路径是:

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

第二个:

/出口/家庭/ ORACLE /应用/ ORACLE /管理/



作为额外信息,为了便于查找日志文件,您可以在Bash shell中键入以下内容:

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: **.level =  (ie: INFO)**