All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.taotao.cloud.data.p6spy.properties.OldP6spyProperties Maven / Gradle / Ivy

/*
 * Copyright (c) 2020-2030, Shuigedeng ([email protected] & https://blog.taotaocloud.top/).
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.taotao.cloud.data.p6spy.properties; /// *
// * Copyright (c) 2020-2030, Shuigedeng ([email protected] & https://blog.taotaocloud.top/).
// *
// * Licensed under the Apache License, Version 2.0 (the "License");
// * you may not use this file except in compliance with the License.
// * You may obtain a copy of the License at
// *
// *      https://www.apache.org/licenses/LICENSE-2.0
// *
// * Unless required by applicable law or agreed to in writing, software
// * distributed under the License is distributed on an "AS IS" BASIS,
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// * See the License for the specific language governing permissions and
// * limitations under the License.
// */
// package com.taotao.cloud.p6spy.properties;
//
// import com.taotao.cloud.common.constant.CommonConstant;
// import com.taotao.cloud.common.utils.common.PropertyUtil;
// import java.io.File;
// import org.springframework.boot.context.properties.ConfigurationProperties;
// import org.springframework.cloud.context.config.annotation.RefreshScope;
//
/// **
// * P6spyProperties
// *
// * @author shuigedeng
// * @version 2022.03
// * @since 2020/10/14 09:11
// */
// @Deprecated
// @RefreshScope
// @ConfigurationProperties(prefix = OldP6spyProperties.PREFIX)
// public class OldP6spyProperties {
//
//	public static final String PREFIX = "taotao.cloud.p6spy.old";
//
//	private boolean enabled = true;
//
//	/**
//	 * 指定应用的日志拦截模块,默认为com.p6spy.engine.spy.P6SpyFactory # Module list adapts the modular
//	 * functionality of P6Spy. # Only modules listed are active. # (default is
//	 * com.p6spy.engine.logging.P6LogFactory and # com.p6spy.engine.spy.P6SpyFactory) # Please note
//	 * that the core module (P6SpyFactory) can't be # deactivated. # Unlike the other properties,
//	 * activation of the changes on # this one requires reload.
// #modulelist=com.p6spy.engine.spy.P6SpyFactory,com.p6spy.engine.logging.P6LogFactory,com.p6spy.engine.outage.P6OutageFactory
//	 */
//	private String modulelist =
// "com.p6spy.engine.spy.P6SpyFactory,com.p6spy.engine.logging.P6LogFactory,com.p6spy.engine.outage.P6OutageFactory";
//
//	/**
//	 * 真实JDBC driver , 多个以 逗号 分割 默认为空 # A comma separated list of JDBC drivers to load and register.
//	 * # (default is empty) # # Note: This is normally only needed when using P6Spy in an #
//	 * application server environment with a JNDI data source or when # using a JDBC driver that
//	 * does not implement the JDBC 4.0 API # (specifically automatic registration). driverlist=
//	 */
//	private String driverlist;
//
//	/**
//	 * 是否自动刷新 默认 false # for flushing per statement # (default is false) autoflush=false
//	 */
//	private Boolean autoflush = false;
//
//	/**
//	 * 配置SimpleDateFormat日期格式 默认为空 # sets the date format using Java's SimpleDateFormat routine. #
//	 * In case property is not set, milliseconds since 1.1.1970 (unix time) is used (default
//	 */
//	private String dateformat = "yyyy-MM-dd HH:mm:ss";
//
//	/**
//	 * 如果 stacktrace=true,则可以指定具体的类名来进行过滤。
//	 * 

// * # if stacktrace=true, specifies the stack trace to print // */ // private String stacktraceclass; // // /** // * 监测属性配置文件是否进行重新加载 // *

// * # determines if property file should be reloaded # Please note: reload means forgetting all // * the previously set # settings (even those set during runtime - via JMX) # and starting with // * the clean table # (default is false) reloadproperties=false // */ // private Boolean reloadproperties = false; // // /** // * 属性配置文件重新加载的时间间隔,单位:秒 默认60s // *

// * # determines how often should be reloaded in seconds # (default is 60) // * #reloadpropertiesinterval=60 // */ // private Integer reloadpropertiesinterval = 60; // // /** // * 指定 Log 的 appender,取值: // *

// * # specifies the appender to use for logging # Please note: reload means forgetting all the // * previously set # settings (even those set during runtime - via JMX) # and starting with the // * clean table # (only the properties read from the configuration file) # (default is // * com.p6spy.engine.spy.appender.FileLogger) #appender=com.p6spy.engine.spy.appender.Slf4JLogger // * #appender=com.p6spy.engine.spy.appender.StdoutLogger // #appender=com.p6spy.engine.spy.appender.FileLogger // */ //// private String appender = "com.taotao.cloud.p6spy.logger.P6spyLogger"; // private String appender = "com.p6spy.engine.spy.appender.FileLogger"; // // /** // * 指定 Log 的文件名 默认 spy.log # name of logfile to use, note Windows users should make sure to use // * forward slashes in their pathname (e:/test/spy.log) # (used for // * com.p6spy.engine.spy.appender.FileLogger only) # (default is spy.log) // */ // private String logfile = // System.getProperty("user.home") // + File.separator + "logs" // + File.separator + PropertyUtil.getProperty(CommonConstant.SPRING_APP_NAME_KEY) // + File.separator + "p6spy" // + File.separator + "spy.log"; // // /** // * 指定是否每次是增加 Log,设置为 false 则每次都会先进行清空 默认true # append to the p6spy log file. if this is set to // * false the # log file is truncated every time. (file logger only) # (default is true) // */ // private Boolean append = true; // // /** // * 指定日志输出样式 默认为com.p6spy.engine.spy.appender.SingleLineFormat , 单行输出 不格式化语句 # class to use for // * formatting log messages (default is: com.p6spy.engine.spy.appender.SingleLineFormat) // */ // private String logMessageFormat = "com.p6spy.engine.spy.appender.CustomLineFormat"; // // /** // * # 也可以采用 com.p6spy.engine.spy.appender.CustomLineFormat 来自定义输出样式, # Custom log message format // * used ONLY IF logMessageFormat is set to com.p6spy.engine.spy.appender.CustomLineFormat # // * default is // %(currentTime)|%(executionTime)|%(category)|connection%(connectionId)|%(sqlSingleLine) // * # Available placeholders are: # %(connectionId) the id of the connection # // * %(currentTime) the current time expressing in milliseconds # %(executionTime) // * the time in milliseconds that the operation took to complete # %(category) the category of // * the operation # %(effectiveSql) the SQL statement as submitted to the driver # // * %(effectiveSqlSingleLine) the SQL statement as submitted to the driver, with all new lines // * removed # %(sql) the SQL statement with all bind variables replaced // * with actual values # %(sqlSingleLine) the SQL statement with all bind variables // * replaced with actual values, with all new lines removed # // customLogMessageFormat=%(currentTime)|%(executionTime)|%(category)|connection%(connectionId)|%(sqlSingleLine) // */ // private String customLogMessageFormat = // "%(currentTime)|%(executionTime)|%(category)|connection%(connectionId)|%(sqlSingleLine)"; // // /** // * # format that is used for logging of the java.util.Date implementations (has to be compatible // * with java.text.SimpleDateFormat) # (default is yyyy-MM-dd'T'HH:mm:ss.SSSZ) // * #databaseDialectDateFormat=yyyy-MM-dd'T'HH:mm:ss.SSSZ // */ // private String databaseDialectDateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"; // // /** // * # format that is used for logging of the java.sql.Timestamp implementations (has to be // * compatible with java.text.SimpleDateFormat) # (default is yyyy-MM-dd'T'HH:mm:ss.SSSZ) // * #databaseDialectTimestampFormat=yyyy-MM-dd'T'HH:mm:ss.SSSZ // */ // private String databaseDialectTimestampFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"; // // /** // * # format that is used for logging booleans, possible values: boolean, numeric # (default is // * boolean) #databaseDialectBooleanFormat=boolean // */ // private String databaseDialectBooleanFormat = "boolean"; // // /** // * # Specifies the format for logging binary data. Not applicable if excludebinary is true. # // * (default is com.p6spy.engine.logging.format.HexEncodedBinaryFormat) // * #databaseDialectBinaryFormat=com.p6spy.engine.logging.format.PostgreSQLBinaryFormat // * #databaseDialectBinaryFormat=com.p6spy.engine.logging.format.MySQLBinaryFormat // * #databaseDialectBinaryFormat=com.p6spy.engine.logging.format.HexEncodedBinaryFormat // */ // private String databaseDialectBinaryFormat = "com.p6spy.engine.logging.format.MySQLBinaryFormat"; // // /** // * # whether to expose options via JMX or not # (default is true) #jmx=true // */ // private Boolean jmx = true; // // /** // * # if exposing options via jmx (see option: jmx), what should be the prefix used? # jmx naming // * pattern constructed is: com.p6spy(.)?:name= # please note, if // * there is already such a name in use it would be unregistered first (the last registered wins) // * # (default is none) #jmxPrefix= // */ // private String jmxPrefix; // // /** // * # if set to true, the execution time will be measured in nanoseconds as opposed to // * milliseconds # (default is false) #useNanoTime=false // */ // private Boolean useNanoTime = false; // // /** // * 实际数据源 JNDI // *

// * # DataSource replacement # # # # Replace the real // * DataSource class in your application server # # configuration with the name // * com.p6spy.engine.spy.P6DataSource # # (that provides also connection pooling and xa support). // * # # then add the JNDI name and class name of the real # # DataSource here # # # # // * Values set in this item cannot be reloaded using the # # reloadproperties variable. // * Once it is loaded, it remains # # in memory until the application is restarted. # # # // * ################################################################# // * #realdatasource=/RealMySqlDS // */ // private String realdatasource; // // /** // * 实际数据源 datasource class // *

// * #realdatasourceclass=com.mysql.jdbc.jdbc2.optional.MysqlDataSource // */ // private String realdatasourceclass; // // /** // * 实际数据源所携带的配置参数 以 k=v 方式指定 以 分号 分割 // *

// * # DataSource properties # # # # If you are using the // * DataSource support to intercept calls # # to a DataSource that requires properties for // * proper setup, # # define those properties here. Use name value pairs, separate # # the // * name and value with a semicolon, and separate the # # pairs with commas. # # # # The // * example shown here is for mysql # # # // ################################################################# // * #realdatasourceproperties=port;3306,serverName;myhost,databaseName;jbossdb,foo;bar // */ // private String realdatasourceproperties; // // /** // * # filter what is logged # please note this is a precondition for usage of: // * include/exclude/sqlexpression # (default is false) #filter=false // */ // private Boolean filter = false; // // /** // * # comma separated list of strings to include # please note that special characters escaping // * (used in java) has to be done for the provided regular expression # (default is empty) // * #include= # comma separated list of strings to exclude # (default is empty) #exclude= // */ // private String include; // private String exclude; // // /** // * # sql expression to evaluate if using regex # please note that special characters escaping // * (used in java) has to be done for the provided regular expression # (default is empty) // * #sqlexpression= // */ // private String sqlexpression; // // /** // * #list of categories to exclude: error, info, batch, debug, statement, #commit, rollback, // * result and resultset are valid values # (default is info,debug,result,resultset,batch) // * #excludecategories=info,debug,result,resultset,batch // */ // private String excludecategories = "info,debug,result,resultset,batch"; // // /** // * #whether the binary values (passed to DB or retrieved ones) should be logged with // * placeholder: [binary] or not. # (default is false) #excludebinary=false // */ // private Boolean excludebinary = false; // // /** // * # Execution threshold applies to the standard logging of P6Spy. # While the standard logging // * logs out every statement # regardless of its execution time, this feature puts a time # // * condition on that logging. Only statements that have taken # longer than the time specified // * (in milliseconds) will be # logged. This way it is possible to see only statements that # // * have exceeded some high water mark. # This time is reloadable. # # executionThreshold=integer // * time (milliseconds) # (default is 0) #executionThreshold= // */ // private Integer executionThreshold = 0; // // /** // * # Outage Detection # # This feature detects long-running statements that may be indicative of // * # a database outage problem. If this feature is turned on, it will log any # statement that // * surpasses the configurable time boundary during its execution. # When this feature is // * enabled, no other statements are logged except the long # running statements. The interval // * property is the boundary time set in seconds. # For example, if this is set to 2, then any // * statement requiring at least 2 # seconds will be logged. Note that the same statement will // * continue to be logged # for as long as it executes. So if the interval is set to 2, and the // * query takes # 11 seconds, it will be logged 5 times (at the 2, 4, 6, 8, 10 second intervals). // * # # outagedetection=true|false # outagedetectioninterval=integer time (seconds) # 是否开启慢SQL记录 // * # (default is false) #outagedetection=false # 慢SQL记录标准,单位秒 # (default is 60) // * #outagedetectioninterval=30 // */ // private Boolean outagedetection = false; // private Integer outagedetectioninterval = 3; // // /** // * 打印堆栈跟踪信息 默认flase // *

// * # prints a stack trace for every statement logged // */ // private Boolean stacktrace = false; // // /** // * 设置 JNDI 数据源的 NamingContextFactory。 // *

// * # JNDI DataSource lookup # # # # If you are using the // * DataSource support outside of an app # # server, you will probably need to define the // * JNDI Context # # environment. # # # # If the P6Spy code will be executing inside an app // * server then # # do not use these properties, and the DataSource lookup will # # use the // * naming context defined by the app server. # # # # The two standard elements of // * the naming environment are # # jndicontextfactory and jndicontextproviderurl. If you // * need # # additional elements, use the jndicontextcustom property. # # You can define // * multiple properties in jndicontextcustom, # # in name value pairs. Separate the name and // * value with a # # semicolon, and separate the pairs with commas. # # # # // * The example shown here is for a standalone program running on # # a machine that is also // * running JBoss, so the JNDI context # # is configured for JBoss (3.0.4). # # # # (by // * default all these are empty) # // ################################################################# // * #jndicontextfactory=org.jnp.interfaces.NamingContextFactory // #jndicontextproviderurl=localhost:1099 // * #jndicontextcustom=java.naming.factory.url.pkgs;org.jboss.naming:org.jnp.interfaces // */ // private String jndicontextfactory; // // /** // * 设置 JNDI 数据源的提供者的 URL。 // *

// * # JNDI DataSource lookup # # # # If you are using the // * DataSource support outside of an app # # server, you will probably need to define the // * JNDI Context # # environment. # # # # If the P6Spy code will be executing inside an app // * server then # # do not use these properties, and the DataSource lookup will # # use the // * naming context defined by the app server. # # # # The two standard elements of // * the naming environment are # # jndicontextfactory and jndicontextproviderurl. If you // * need # # additional elements, use the jndicontextcustom property. # # You can define // * multiple properties in jndicontextcustom, # # in name value pairs. Separate the name and // * value with a # # semicolon, and separate the pairs with commas. # # # # // * The example shown here is for a standalone program running on # # a machine that is also // * running JBoss, so the JNDI context # # is configured for JBoss (3.0.4). # # # # (by // * default all these are empty) # // ################################################################# // * #jndicontextfactory=org.jnp.interfaces.NamingContextFactory // #jndicontextproviderurl=localhost:1099 // * #jndicontextcustom=java.naming.factory.url.pkgs;org.jboss.naming:org.jnp.interfaces // */ // private String jndicontextproviderurl; // // /** // * 设置 JNDI 数据源的一些定制信息,以分号分隔。 // *

// * # JNDI DataSource lookup # # # # If you are using the // * DataSource support outside of an app # # server, you will probably need to define the // * JNDI Context # # environment. # # # # If the P6Spy code will be executing inside an app // * server then # # do not use these properties, and the DataSource lookup will # # use the // * naming context defined by the app server. # # # # The two standard elements of // * the naming environment are # # jndicontextfactory and jndicontextproviderurl. If you // * need # # additional elements, use the jndicontextcustom property. # # You can define // * multiple properties in jndicontextcustom, # # in name value pairs. Separate the name and // * value with a # # semicolon, and separate the pairs with commas. # # # # // * The example shown here is for a standalone program running on # # a machine that is also // * running JBoss, so the JNDI context # # is configured for JBoss (3.0.4). # # # # (by // * default all these are empty) # // ################################################################# // * #jndicontextfactory=org.jnp.interfaces.NamingContextFactory // #jndicontextproviderurl=localhost:1099 // * #jndicontextcustom=java.naming.factory.url.pkgs;org.jboss.naming:org.jnp.interfaces // */ // private String jndicontextcustom; // // // public boolean getEnabled() { // return enabled; // } // // public void setEnabled(boolean enabled) { // this.enabled = enabled; // } // // public String getModulelist() { // return modulelist; // } // // public void setModulelist(String modulelist) { // this.modulelist = modulelist; // } // // public String getDriverlist() { // return driverlist; // } // // public void setDriverlist(String driverlist) { // this.driverlist = driverlist; // } // // public Boolean getAutoflush() { // return autoflush; // } // // public void setAutoflush(Boolean autoflush) { // this.autoflush = autoflush; // } // // public String getDateformat() { // return dateformat; // } // // public void setDateformat(String dateformat) { // this.dateformat = dateformat; // } // // public String getStacktraceclass() { // return stacktraceclass; // } // // public void setStacktraceclass(String stacktraceclass) { // this.stacktraceclass = stacktraceclass; // } // // public Boolean getReloadproperties() { // return reloadproperties; // } // // public void setReloadproperties(Boolean reloadproperties) { // this.reloadproperties = reloadproperties; // } // // public Integer getReloadpropertiesinterval() { // return reloadpropertiesinterval; // } // // public void setReloadpropertiesinterval(Integer reloadpropertiesinterval) { // this.reloadpropertiesinterval = reloadpropertiesinterval; // } // // public String getAppender() { // return appender; // } // // public void setAppender(String appender) { // this.appender = appender; // } // // public String getLogfile() { // return logfile; // } // // public void setLogfile(String logfile) { // this.logfile = logfile; // } // // public Boolean getAppend() { // return append; // } // // public void setAppend(Boolean append) { // this.append = append; // } // // public String getLogMessageFormat() { // return logMessageFormat; // } // // public void setLogMessageFormat(String logMessageFormat) { // this.logMessageFormat = logMessageFormat; // } // // public String getCustomLogMessageFormat() { // return customLogMessageFormat; // } // // public void setCustomLogMessageFormat(String customLogMessageFormat) { // this.customLogMessageFormat = customLogMessageFormat; // } // // public String getDatabaseDialectDateFormat() { // return databaseDialectDateFormat; // } // // public void setDatabaseDialectDateFormat(String databaseDialectDateFormat) { // this.databaseDialectDateFormat = databaseDialectDateFormat; // } // // public String getDatabaseDialectTimestampFormat() { // return databaseDialectTimestampFormat; // } // // public void setDatabaseDialectTimestampFormat(String databaseDialectTimestampFormat) { // this.databaseDialectTimestampFormat = databaseDialectTimestampFormat; // } // // public String getDatabaseDialectBooleanFormat() { // return databaseDialectBooleanFormat; // } // // public void setDatabaseDialectBooleanFormat(String databaseDialectBooleanFormat) { // this.databaseDialectBooleanFormat = databaseDialectBooleanFormat; // } // // public String getDatabaseDialectBinaryFormat() { // return databaseDialectBinaryFormat; // } // // public void setDatabaseDialectBinaryFormat(String databaseDialectBinaryFormat) { // this.databaseDialectBinaryFormat = databaseDialectBinaryFormat; // } // // public Boolean getJmx() { // return jmx; // } // // public void setJmx(Boolean jmx) { // this.jmx = jmx; // } // // public String getJmxPrefix() { // return jmxPrefix; // } // // public void setJmxPrefix(String jmxPrefix) { // this.jmxPrefix = jmxPrefix; // } // // public Boolean getUseNanoTime() { // return useNanoTime; // } // // public void setUseNanoTime(Boolean useNanoTime) { // this.useNanoTime = useNanoTime; // } // // public String getRealdatasource() { // return realdatasource; // } // // public void setRealdatasource(String realdatasource) { // this.realdatasource = realdatasource; // } // // public String getRealdatasourceclass() { // return realdatasourceclass; // } // // public void setRealdatasourceclass(String realdatasourceclass) { // this.realdatasourceclass = realdatasourceclass; // } // // public String getRealdatasourceproperties() { // return realdatasourceproperties; // } // // public void setRealdatasourceproperties(String realdatasourceproperties) { // this.realdatasourceproperties = realdatasourceproperties; // } // // public Boolean getFilter() { // return filter; // } // // public void setFilter(Boolean filter) { // this.filter = filter; // } // // public String getInclude() { // return include; // } // // public void setInclude(String include) { // this.include = include; // } // // public String getExclude() { // return exclude; // } // // public void setExclude(String exclude) { // this.exclude = exclude; // } // // public String getSqlexpression() { // return sqlexpression; // } // // public void setSqlexpression(String sqlexpression) { // this.sqlexpression = sqlexpression; // } // // public String getExcludecategories() { // return excludecategories; // } // // public void setExcludecategories(String excludecategories) { // this.excludecategories = excludecategories; // } // // public Boolean getExcludebinary() { // return excludebinary; // } // // public void setExcludebinary(Boolean excludebinary) { // this.excludebinary = excludebinary; // } // // public Integer getExecutionThreshold() { // return executionThreshold; // } // // public void setExecutionThreshold(Integer executionThreshold) { // this.executionThreshold = executionThreshold; // } // // public Boolean getOutagedetection() { // return outagedetection; // } // // public void setOutagedetection(Boolean outagedetection) { // this.outagedetection = outagedetection; // } // // public Integer getOutagedetectioninterval() { // return outagedetectioninterval; // } // // public void setOutagedetectioninterval(Integer outagedetectioninterval) { // this.outagedetectioninterval = outagedetectioninterval; // } // // public Boolean getStacktrace() { // return stacktrace; // } // // public void setStacktrace(Boolean stacktrace) { // this.stacktrace = stacktrace; // } // // public String getJndicontextfactory() { // return jndicontextfactory; // } // // public void setJndicontextfactory(String jndicontextfactory) { // this.jndicontextfactory = jndicontextfactory; // } // // public String getJndicontextproviderurl() { // return jndicontextproviderurl; // } // // public void setJndicontextproviderurl(String jndicontextproviderurl) { // this.jndicontextproviderurl = jndicontextproviderurl; // } // // public String getJndicontextcustom() { // return jndicontextcustom; // } // // public void setJndicontextcustom(String jndicontextcustom) { // this.jndicontextcustom = jndicontextcustom; // } // }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy