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)
blank

相关推荐

  • Java学习之常用类篇

    Java学习之常用类篇0x00前言在开发中难免调用到各种api来开发程序,那就先来学习一下api的一些相关概念。0x01api的使用首先还是得来看看api的一个解释。API(Applic

    2021年12月11日
  • 虚拟存储管理_虚拟存储管理的基本条件

    虚拟存储管理_虚拟存储管理的基本条件必要性:前面的各种存储管理方式必须一次性全部装入内存才可以运行,直至作业运行结束才能释放全部内存资源,所以存在:(1)内存不满足作业地址空间要求时就不能运行(2)大量作业要求运行时只有少数作业装入内存运行,其他作业留在辅存等待程序执行呈现局部性特征,程序的执行局限于某个部分局限性⎧⎩⎨时间局限性{某条指令被执行,不久之后指令可能再次执行某条数据被访问,不久之后数据可能再次空间局限性…

  • kafuka学习之路(一)kafuka安装和简单使用

    kafuka学习之路(一)kafuka安装和简单使用一,安装环境与软件版本linux centOs664 jdk jdk-8u191-linux-x64.tar.gz zookeeper zookeeper-3.4.10.tar.gz kafuka kafka_2.11-0.11.0.2 二,安装##解压-rwxrw-rw-.1rootroot42136632Jun11…

  • 常用编码格式介绍_数据库编码格式

    常用编码格式介绍_数据库编码格式编程过程中经常会遇到各类字符的编码方式,经常会混淆,在此总结下常用的编码方式以及其原理。Ascii:因为对于计算机来说只能识别0、1这两种字符(0表示低电平,1表示高电平),所有的数据都是通过二进

  • 【吐血整理】想学Google Guava看这篇就够了「建议收藏」

    【吐血整理】想学Google Guava看这篇就够了「建议收藏」GoogleGuava常用功能梳理,想学习Guava的看过来

    2022年10月22日
  • 格雷码的实现[通俗易懂]

    格雷码的实现[通俗易懂]问题:产生n位元的所有格雷码。格雷码(GrayCode)是一个数列集合,每个数使用二进位来表示,假设使用n位元来表示每个数字,任两个数之间只有一个位元值不同。例如以下为3位元的格雷码: 000001011010110111101100。如果要产生n位元的格雷码,那么格雷码的个数为2^n.假设原始的值从0开始,格雷码产生的规律是:第一步,改变最右边的

发表回复

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

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