p6spy 非常典型 启用SQL日志「建议收藏」

p6spy 非常典型 启用SQL日志「建议收藏」官网地址 gitHub地址 在项目的pom.xml中添加依赖 修改项目数据库连接地址ConnectionURL jdbc:mysql://host/db修改为jdbc:p6spy:mysql://host/db 修改数据库driver-class-name driver-class-name:com.mysql.cj.jdbc.Driver修改为com.p6spy.eng…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

  1. 官网地址
  2. gitHub地址
  3. 在项目的pom.xml中添加依赖
  4. 修改项目数据库连接地址Connection URL
  5. jdbc:mysql://host/db 修改为 jdbc:p6spy:mysql://host/db
  6. 修改数据库 driver-class-name
  7. driver-class-name: com.mysql.cj.jdbc.Driver 修改为 com.p6spy.engine.spy.P6SpyDriver
  8. 这边解释下第7项,因为p6spy会有配置文件,配置文件中需要您配置对应项目的driver-class-name
    1. p6spy 非常典型 启用SQL日志「建议收藏」
  9. 在classpath 下添加spy.properties配置文件,springboot项目会自动扫描
  10. #################################################################
    # P6Spy Options File                                            #
    # See documentation for detailed instructions                   #
    # http://p6spy.github.io/p6spy/2.0/configandusage.html          #
    #################################################################
    
    #################################################################
    # MODULES                                                       #
    #                                                               #
    # 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
    
    ################################################################
    # CORE (P6SPY) PROPERTIES                                      #
    ################################################################
    
    # 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=
    #####配置数据库驱动,根据自己的数据库选择 
    driverlist=com.mysql.jdbc.Driver
    # for flushing per statement
    # (default is false)
    #autoflush=false
    
    # 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 is empty)
    #dateformat=
    
    # prints a stack trace for every statement logged
    #stacktrace=false
    # if stacktrace=true, specifies the stack trace to print
    #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
    
    # determines how often should be reloaded in seconds
    # (default is 60)
    #reloadpropertiesinterval=60
    
    # 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
    ###选择sql日志输出的问题 slf4jLogger输出到控制台,fileLogger输出到文件中 appender=com.p6spy.engine.spy.appender.Slf4JLogger# 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)
    #logfile=spy.log
    ###如果选择输出到文件中自定义文件的输出路径 
    logfile = /data/www/logs/spy.log
    # 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)
    #append=true
    
    # class to use for formatting log messages (default is: com.p6spy.engine.spy.appender.SingleLineFormat)
    #logMessageFormat=com.p6spy.engine.spy.appender.SingleLineFormat
    
    # 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)
    
    # 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
    
    # 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
    
    # format that is used for logging booleans, possible values: boolean, numeric
    # (default is boolean)
    #databaseDialectBooleanFormat=boolean
    
    # whether to expose options via JMX or not
    # (default is true)
    #jmx=true
    
    # if exposing options via jmx (see option: jmx), what should be the prefix used?
    # jmx naming pattern constructed is: com.p6spy(.<jmxPrefix>)?:name=<optionsClassName>
    # please note, if there is already such a name in use it would be unregistered first (the last registered wins)
    # (default is none)
    #jmxPrefix=
    
    # if set to true, the execution time will be measured in nanoseconds as opposed to milliseconds
    # (default is false)
    #useNanoTime=false
    
    #################################################################
    # 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
    #realdatasourceclass=com.mysql.jdbc.jdbc2.optional.MysqlDataSource
    
    #################################################################
    # 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
    
    #################################################################
    # 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
    
    #jndicontextfactory=com.ibm.websphere.naming.WsnInitialContextFactory
    #jndicontextproviderurl=iiop://localhost:900
    
    ################################################################
    # P6 LOGGING SPECIFIC PROPERTIES                               #
    ################################################################
    
    # filter what is logged
    # please note this is a precondition for usage of: include/exclude/sqlexpression
    # (default is false)
    #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=
    
    # 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=
    
    #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
    
    #whether the binary values (passed to DB or retrieved ones) should be logged with placeholder: [binary] or not.
    # (default is false)
    #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=
    
    ################################################################
    # P6 OUTAGE SPECIFIC PROPERTIES                                #
    ################################################################
    # 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)
    #
    # (default is false)
    #outagedetection=false
    # (default is 60)
    #outagedetectioninterval=30
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/185543.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python strip()函数

    python strip()函数函数原型声明:s为字符串,rm为要删除的字符序列s.strip(rm)删除s字符串中开头、结尾处,位于rm删除序列的字符s.lstrip(rm)删除s字符串中开头处,位于rm删除序列的字符s.rs

  • 浅谈@RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别

    浅谈@RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别博主说:首先,大家在使用SSM框架进行web开发的时候,经常会在Ctrl层遇到@RequestMapping、@ResponseBody以及@RequestBody这三个参数,博主就以自己在项目开发中总结的一些知识点浅谈一下三者之间微妙的关系。1.@RequestMapping国际惯例先介绍什么是@RequestMapping,@RequestMapping是一个用来处理请求地址映射的注解,可用

  • 免费PHP主机_php做一个网站

    免费PHP主机_php做一个网站转载–4个免费的国外php主机服务这几个主机都是没有广告的,并且提供了很多先进的功能,如FTP访问,支持PHP和MySQL,自定义域和免费子域名等,最主要的是支持PHP,那就可以做博客主机只用了,新手们怕买了主机不会玩的话,可以先用他们来建个网站来练练。1.000WebHost000WebHost提供了一个最可靠的和功能丰富的主机托管服务,没有广告。所有的帐户都有1500M的磁盘空间,100…

  • Double转BigDecimal进行四舍五入操作时会出现数据损失

    Double转BigDecimal进行四舍五入操作时会出现数据损失工作中遇到四舍五入的处理,查了资料都是讲三种常见的方法。这里就不说了。实际上你会发现,在用BigDecimal转换时根本不是想像中的那么简单。看代码:java.math.BigDecimalbd=newjava.math.BigDecimal(115.5225);//这里将浮点数转化为BigDecimalDoubled=bd.setScale(3,java.math.Bi

  • 共享内存同步机制_共享内存通信机制

    共享内存同步机制_共享内存通信机制共享内存是SystemV版本的最后一个进程间通信方式。共享内存,顾名思义就是允许两个不相关的进程访问同一个逻辑内存,共享内存是两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常为同一段物理内存。进程可以将同一段物理内存连接到他们自己的地址空间中,所有的进程都可以访问共享内存中的地址。如果某个进程向共享内存写入数据,所做的改动将立即影响到可以访问同一段共享内存的任…

    2022年10月23日
  • java三元运算符怎么用_按位运算符

    java三元运算符怎么用_按位运算符Java提供了一个三元运算符,可以同时操作3个表达式。三元运算符语法格式如下:判断条件?表达式1:表达式2在上述语法格式中,当判断条件成立时,计算表达式1的值作为整个表达式的结果,否则计算表达式2的值作为整个表达式的结果。三元运算符的功能与if…else语法相同,但是使用三元运算符可以简化代码。例如,求两个数x、y中的较大者,如果用if.else语句来实现,具体代码如下:Intx=0;inty=1;intmax;if(x>y){max=x;}el

    2022年10月20日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号