问题描述
我在Oracle(10g)中开发了一个新的Java(1.4)存储过程。我之前从未这样做过,我通常会将Java和DB分开,但这是必需的。所以我开发了一个可以部署在Tomcat中的Java代码以及Oracle中的存储过程。为此,我使用了Java Logging API。
I've developed a new Java(1.4) Stored Procedure in Oracle (10g). I've never done this before, I usually keep Java and the DB separated but this was a requisite. So I developed a Java code that can be deployed in Tomcat as well as a Stored Procedure in Oracle. For this I used the Java Logging API.
我可以在Oracle中执行存储过程,但是我找不到日志。我想知道我应该怎么做才能打印日志,它可以是Oracle日志或trc文件,甚至,如果可能的话,配置它来将日志打印到另一个特定的文件夹。
I can execute the stored procedure in Oracle, but I can't find the logs. I would like to know what should I do in order to print the logs, it can be to Oracle logs or trc files, or even, if possible, configure it to print the logs to another specific folder.
有谁知道如何实现这一目标?
Does anyone know how to achieve this?
推荐答案
由PeskyGnat在你必须在文件夹中创建一个logging.properties文件:
As appointed by PeskyGnat in this answer you have to create a logging.properties file in the folder:
配置此文件后,您可以看到日志:
After you configure this file, you can see the logs in:
就我而言,这是Solaris所以第一条路径是:
In my case, this was Solaris so the first path was:
第二个:
作为额外信息,为了便于查找日志文件,您可以在Bash shell中键入以下内容:
ls -altr
以下是logging.properties文件的示例:
And this is an example of how the logging.properties file:
############################################################
# 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)**
这篇关于使用Java Logging API记录Oracle Java存储过程(java.util.logging)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!