1 #################################################################
3 # See documentation for detailed instructions #
4 #################################################################
6 #################################################################
9 # Modules provide the P6Spy functionality. If a module, such #
10 # as module_log is commented out, that functionality will not #
11 # be available. If it is not commented out (if it is active), #
12 # the functionality will be active. #
14 # Values set in Modules cannot be reloaded using the #
15 # reloadproperties variable. Once they are loaded, they remain #
16 # in memory until the application is restarted. #
18 #################################################################
20 module.log=com.p6spy.engine.logging.P6LogFactory
21 #module.outage=com.p6spy.engine.outage.P6OutageFactory
23 #################################################################
26 # In your application server configuration file you replace the #
27 # "real driver" name with com.p6spy.engine.P6SpyDriver. This is #
28 # where you put the name of your real driver P6Spy can find and #
29 # register your real driver to do the database work. #
31 # If your application uses several drivers specify them in #
32 # realdriver2, realdriver3. See the documentation for more #
35 # Values set in REALDRIVER(s) cannot be reloaded using the #
36 # reloadproperties variable. Once they are loaded, they remain #
37 # in memory until the application is restarted. #
39 #################################################################
42 # realdriver=oracle.jdbc.driver.OracleDriver
44 # mysql Connector/J driver
45 realdriver=com.mysql.jdbc.Driver
48 # realdriver=com.informix.jdbc.IfxDriver
51 # realdriver=COM.ibm.db2.jdbc.net.DB2Driver
53 # the mysql open source driver
54 #realdriver=org.gjt.mm.mysql.Driver
56 #specifies another driver to use
58 #specifies a third driver to use
62 #the DriverManager class sequentially tries every driver that is
63 #registered to find the right driver. In some instances, it's possible to
64 #load up the realdriver before the p6spy driver, in which case your connections
65 #will not get wrapped as the realdriver will "steal" the connection before
66 #p6spy sees it. Set the following property to "true" to cause p6spy to
67 #explicitily deregister the realdrivers
68 deregisterdrivers=false
70 ################################################################
71 # P6LOG SPECIFIC PROPERTIES #
72 ################################################################
73 # no properties currently available
75 ################################################################
76 # EXECUTION THRESHOLD PROPERTIES #
77 ################################################################
78 # This feature applies to the standard logging of P6Spy. #
79 # While the standard logging logs out every statement #
80 # regardless of its execution time, this feature puts a time #
81 # condition on that logging. Only statements that have taken #
82 # longer than the time specified (in milliseconds) will be #
83 # logged. This way it is possible to see only statements that #
84 # have exceeded some high water mark. #
85 # This time is reloadable. #
87 # executionthreshold=integer time (milliseconds)
91 ################################################################
92 # P6OUTAGE SPECIFIC PROPERTIES #
93 ################################################################
96 # This feature detects long-running statements that may be indicative of
97 # a database outage problem. If this feature is turned on, it will log any
98 # statement that surpasses the configurable time boundary during its execution.
99 # When this feature is enabled, no other statements are logged except the long
100 # running statements. The interval property is the boundary time set in seconds.
101 # For example, if this is set to 2, then any statement requiring at least 2
102 # seconds will be logged. Note that the same statement will continue to be logged
103 # for as long as it executes. So if the interval is set to 2, and the query takes
104 # 11 seconds, it will be logged 5 times (at the 2, 4, 6, 8, 10 second intervals).
106 # outagedetection=true|false
107 # outagedetectioninterval=integer time (seconds)
109 outagedetection=false
110 outagedetectioninterval=
112 ################################################################
113 # COMMON PROPERTIES #
114 ################################################################
116 # filter what is logged
119 # comma separated list of tables to include when filtering
121 # comma separated list of tables to exclude when filtering
124 # sql expression to evaluate if using regex filtering
131 # sets the date format using Java's SimpleDateFormat routine
134 #list of categories to explicitly include
137 #list of categories to exclude: error, info, batch, debug, statement,
138 #commit, rollback and result are valid values
139 excludecategories=info,debug,result,batch
142 #allows you to use a regex engine or your own matching engine to determine
143 #which statements to log
145 #stringmatcher=com.p6spy.engine.common.GnuRegexMatcher
146 #stringmatcher=com.p6spy.engine.common.JakartaRegexMatcher
149 # prints a stack trace for every statement logged
151 # if stacktrace=true, specifies the stack trace to print
154 # determines if property file should be reloaded
155 reloadproperties=false
156 # determines how often should be reloaded in seconds
157 reloadpropertiesinterval=60
159 #if=true then url must be prefixed with p6spy:
162 #specifies the appender to use for logging
163 #appender=com.p6spy.engine.logging.appender.Log4jLogger
164 #appender=com.p6spy.engine.logging.appender.StdoutLogger
165 appender=com.p6spy.engine.logging.appender.FileLogger
167 # name of logfile to use, note Windows users should make sure to use forward slashes in their pathname (e:/test/spy.log) (used for file logger only)
170 # append to the p6spy log file. if this is set to false the
171 # log file is truncated every time. (file logger only)
174 #The following are for log4j logging only
175 log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
176 log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
177 log4j.appender.STDOUT.layout.ConversionPattern=p6spy - %m%n
179 #log4j.appender.CHAINSAW_CLIENT=org.apache.log4j.net.SocketAppender
180 #log4j.appender.CHAINSAW_CLIENT.RemoteHost=localhost
181 #log4j.appender.CHAINSAW_CLIENT.Port=4445
182 #log4j.appender.CHAINSAW_CLIENT.LocationInfo=true
184 log4j.logger.p6spy=INFO,STDOUT
187 #################################################################
188 # DataSource replacement #
190 # Replace the real DataSource class in your application server #
191 # configuration with the name com.p6spy.engine.spy.P6DataSource,#
192 # then add the JNDI name and class name of the real #
195 # Values set in this item cannot be reloaded using the #
196 # reloadproperties variable. Once it is loaded, it remains #
197 # in memory until the application is restarted. #
199 #################################################################
200 #realdatasource=/RealMySqlDS
201 #realdatasourceclass=com.mysql.jdbc.jdbc2.optional.MysqlDataSource
203 #################################################################
204 # DataSource properties #
206 # If you are using the DataSource support to intercept calls #
207 # to a DataSource that requires properties for proper setup, #
208 # define those properties here. Use name value pairs, separate #
209 # the name and value with a semicolon, and separate the #
210 # pairs with commas. #
212 # The example shown here is for mysql #
214 #################################################################
215 #realdatasourceproperties=port;3306,serverName;ibmhost,databaseName;mydb
218 #################################################################
219 # JNDI DataSource lookup #
221 # If you are using the DataSource support outside of an app #
222 # server, you will probably need to define the JNDI Context #
225 # If the P6Spy code will be executing inside an app server then #
226 # do not use these properties, and the DataSource lookup will #
227 # use the naming context defined by the app server. #
229 # The two standard elements of the naming environment are #
230 # jndicontextfactory and jndicontextproviderurl. If you need #
231 # additional elements, use the jndicontextcustom property. #
232 # You can define multiple properties in jndicontextcustom, #
233 # in name value pairs. Separate the name and value with a #
234 # semicolon, and separate the pairs with commas. #
236 # The example shown here is for a standalone program running on #
237 # a machine that is also running JBoss, so the JDNI context #
238 # is configured for JBoss (3.0.4). #
240 #################################################################
241 #jndicontextfactory=org.jnp.interfaces.NamingContextFactory
242 #jndicontextproviderurl=localhost:1099
243 #jndicontextcustom=java.naming.factory.url.pkgs;org.jboss.nameing:org.jnp.interfaces
245 #jndicontextfactory=com.ibm.websphere.naming.WsnInitialContextFactory
246 #jndicontextproviderurl=iiop://localhost:900