如何有效地记录 Java SQL 日志(转)】的更多相关文章

在常规项目的开发中可能最容易出问题的地方就在于对数据库的处理了,在大部分的环境下,我们对数据库的操作都是使用流行的框架,比如 Hibernate . MyBatis 等.由于各种原因,我们有时会想知道在这些框架下实际执行的 SQL 究竟是什么. 虽然 Hibernate 可以在配置文件中打开 SHOW SQL 的功能, MyBatis 则可以在 Log4j 的配置文件中配置 SQL 语句的输出,但这些输出是类似这样的 INSERT - ? ? ? 语句,并不是一个完整可以运行的 SQL ,要想知…
在常规项目的开发中可能最容易出问题的地方就在于对数据库的处理了,在大部分的环境下,我们对数据库的操作都是使用流行的框架,比如 Hibernate . MyBatis 等.由于各种原因,我们有时会想知道在这些框架下实际执行的 SQL 究竟是什么. 虽然 Hibernate 可以在配置文件中打开 SHOW SQL 的功能, MyBatis 则可以在 Log4j 的配置文件中配置 SQL 语句的输出,但这些输出是类似这样的 INSERT … ? ? ? 语句,并不是一个完整可以运行的 SQL ,要想知…
My SQL可以用下面方法跟踪sql 语句,以下方法以Windows平台为例,linux雷同:   1  配置my.ini文件(在安装目录,linux下文件名为my.cnf     查找到[mysqld]区段,增加日志的配置,如下示例: [mysqld]log="C:/temp/mysql.log"log_slow_queries="C:/temp/mysql_slow.log"long_query_time=1   log指示日志文件存放目录: log_slow_…
SQL server有一个sql profiler可以实时跟踪服务器执行的SQL语句,这在很多时候调试错误非常有用.例如:别人写的复杂代码.生产系统.无调试环境.无原代码... ...   查了一下资料,My SQL可以用下面方法跟踪sql 语句,以下方法以Windows平台为例,linux雷同:   1  配置my.ini文件(在安装目录,linux下文件名为my.cnf     查找到[mysqld]区段,增加日志的配置,如下示例: [mysqld]log="C:/temp/mysql.lo…
我使用的mysql版本为:5.7.11 win7环境 记录下下载地址,省得每次百度搜了:http://dev.mysql.com/downloads/installer/ mysql 默认没有开启sql日志.下面步骤打开sql日志 找到my.ini文件,默认是在 C:\ProgramData\MySQL\MySQL Server 5.7 先备份一下my.ini.以免出错改不回来,打开my.ini,找到并修改为 #日志输出到文件 log-output=FILE #自动生成日志 0-不打开 1-打开…
在使用Yii2框架的时候,常常会出现没有sql日志记录的问题.在代码里一句一句的打印sql语句也不现实.所以就要用文件记录起来. 在 config/web.php 里面的 log配置中增加如下配置 [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning','info'], 'logVars'=>[], //表示以yii\db\或者app\models\开头的分类都会写入这个文件 'categories'=>…
[编者按]本文作者是 Casey Dunham.Casey 是一位具有 10 多年经验的专业软件开发人员,以其独特的方式应对应用安全问题而闻名.本文系国内 ITOM 管理平台 OneAPM 工程师编译整理. 作为安全顾问,我对各种应用程序进行评估. 在我测试过的所有应用程序中,我发现它们通常会遇到一些对异常问题的处理和日志记录不足.日志记录和监控往往是被忽视的领域,并且由于对 Web 应用程序的威胁日益增加,它们已被添加到 OWASP Top 10 的十大问题之一,名为“Insufficient…
FIREDAC记录SQL日志 跟踪SQL日志可以方便开发的时候的程序调试.SQL日志记录会耗费服务费资源,正式部署中间件的时候,建议关闭SQL日志记录. FIREDAC通过使用TFDMoniFlatFileClientLink控件来记录SQL日志的. 首先 USES FireDAC.Moni.FlatFile,然后拖放TFDMoniFlatFileClientLink控件. TFDMoniFlatFileClientLink控件的主要属性: 设置SQL日志保存的目录和文件名: FDMoniFla…
ADO如何记录SQL日志 procedure TfrmDM.ADOConnection1WillExecute(Connection: TADOConnection; var CommandText: WideString; var CursorType: TCursorType; var LockType: TADOLockType; var CommandType: TCommandType; var ExecuteOptions: TExecuteOptions; var EventSta…
前言 本文主要是讲解EF Core3.0+ 通过拦截器实现读写分离与SQL日志记录 注意拦截器只有EF Core3.0+ 支持,2.1请考虑上下文工厂的形式实现. 说点题外话.. 一晃又大半年没更新技术博客..唉,去年一年发生了太多事情..博主真的 一言难尽.. 有兴趣的可以去看看:记录一下,也许是转折,也许是结束,也许是新希望的一年 正文 1.通过拦截器实现读写分离 先讲一下本文实现的方式吧 SQL 通过数据库本身的功能 实现主从备份 大概原理如图: EF Core在查询的时候通过DbComm…
java中常用的日志框架 日志接口 Commons Logging Apache Commons Logging是一个基于Java的日志记录实用程序,是用于日志记录和其他工具包的编程模型.它通过其他一些工具提供API,日志实现和包装器实现. SLF4J Java简易日志门面(Simple Logging Facade for Java,缩写SLF4J),是一套包装Logging 框架的界面程式,以外观模式实现.可以在软件部署的时候决定要使用的 Logging 框架,目前主要支援的有Java Lo…
开发反馈,某业务系统插入一条记录的时候,日志报错,插入失败: ### Error updating database. Cause: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: IN…
1.概述 新项目需要增加日志需求,所以网上找了下日志配置,需求是将日志保存到指定文件中.网上找了下文章,发现没有特别完整的文章,下面自己整理下. 1.Java日志概述 对于一个应用程序来说日志记录是必不可少的一部分.线上问题追踪,基于日志的业务逻辑统计分析等都离不日志.java领域存在多种日志框架,目前常用的日志框架包括Log4j 1,Log4j 2,Commons Logging,Slf4j,Logback,Jul. 2.Java常用日志框架类别 Log4j Apache Log4j是一个基于…
概述 在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息. 在Java世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子. 我们先来逐一了解一下主流日志工具. java.util.logging (JUL) JDK1.4开始,通过java.util.logging提供日志功能. 它能满足基本的日志需要,但是功能没有Log4j强大,而且使用范围也没有Log4j广泛. Log4j Log4j是apache的一个开源项目,创始人Ceki Gulcu. Log4j应该说是Java领…
java.sql.SQLException: ORA-00911: invalid character 控制台抛出这个异常:java.sql.SQLException: ORA-00911: invalid character 查了一下说是oracle字符集设置的问题.我将抛异常的SQL语句在控制台输出如下: select count(t.id) as onerowc,t.id as areatravelid ,b.id as airpotid from base_areatravel t in…
出现, java.sql.SQLException: JZ00L: 登录失败.检查与此异常现象有关的 SQL 警告以获得失败原因. at com.sybase.jdbc3.jdbc.ErrorMessage.raiseError(Unknown Source) at com.sybase.jdbc3.tds.Tds.for(Unknown Source) at com.sybase.jdbc3.tds.Tds.a(Unknown Source) at com.sybase.jdbc3.tds.T…
  SQL Server:查看SQL日志文件大小命令:dbcc sqlperf(logspace) DBA 日常管理工作中,很重要一项工作就是监视数据库文件大小,及日志文件大小.如果你管理数据库的有很多的话,每天一个一个数据库的去查看文件大小就太费神了,那就写个SQL脚本吧,放到 SQL Agent 中,每天自动去查看各个数据库文件及日志文件的大小,然后再通过数据库邮件,Email 到我们手中,岂不快哉!当然,可以把每天的记录存放到数据库中去,这样数据库及日志文件的增长趋势,我们也就一目了然了.…
本文转自CSDN,然后整理了一遍.原文出处:CSDN JDBC(java database connectivity,java数据库连接)的api中的主要的四个类之一的java.sql.statement要求开发者付出大量的时间和精力.在使用statement获取JDBC访问时所具有的一个共通的问题是输入适当格式的日期和时间戳:2002-02-0520:56 或者 02/05/02 8:56 pm. 通过使用java.sql.preparedstatement,这个问题可以自动解决.一个prep…
在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息.在Java世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子.我们先来逐一了解一下主流日志工具. 1.java.util.logging (JUL): JDK1.4开始,通过 java.util.logging 提供日志功能.它能满足基本的日志需要,但是功能没有Log4j强大,而且使用范围也没有Log4j广泛. 2.Log4j: Log4j是apache的一个开源项目,创始人Ceki Gulcu. Log4j应该说是Jav…
最近在项目中使用hibernate查询时,总报错“java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Timestamp”,但是直接在Navicat Premium中运行sql可以正常得到值,无任何错误,后来仔细分析下日志信息,发现返回的数据中含有字段值为0000-00-00 00:00:00,而在hibernate将结果映射成实体时,会认为此种格式不是正确的java.sql.Timestamp…
源代码下载 Log4j 是事实上的 Java 标准日志工具.会不会用 Log4j 在一定程度上可以说是衡量一个开发人员是否是一位合格的 Java 程序员的标准.如果你是一名 Java 程序员,如果你还不会用 Log4j,那你真的很有必要读一下这篇文章了.很多朋友反映想写程序日志,但是却不知道怎么把日志写到日志文件里,而且 Java 这方面的资料似乎不多.如<如何写log4j.xml日志配置文件> 所述.本文详细介绍了如何在项目中使用 Log4j 的步骤,并附加了一个例子性质的代码.      …
今天在做开关记录的时候,数据库表中description字段用于记录当前版本的描述(需要存储中文),在测试程序的时候发现如果用户输入中文,那么后台会报错.错误信息如下: java.sql.SQLException: Incorrect string value: '\xE8\xAF\xA6\xE6\x83\x85...' for column 'description' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError…
在项目中碰到了一个应用异常,从表象来看应用僵死.查看Weblogic状态为Running,内存无溢出,但是出现多次线程堵塞.查看Weblogic日志,发现程序出现多次Time Out. 我们知道,Weblogic会自动检测线程运行超时,当超过特点时间(默认600S),即认为此线程为堵塞线程.在日志中发现多次堵塞线程,通过查找资料,发现Weblogic在发生多次线程堵塞后,会自动把应用挂起.默认次数为15次. 是什么造成了线程堵塞呢?通过进一步分析日志,我们发现在线程堵塞之前,发生了多次java.…
为了在开发过程更加直观,我们需要将ibatis日志打开以便观察ibatis运作的细节. ibatis采用Apache common_logging,并结合Apache log4j作为日志输出组件. 在CLASSPATH中新建log4j.properties配置文件,内容如下: log4j.rootLogger=DEBUG,stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layo…
Value '0000-00-00' can not be represented as java.sql.Date 时间 2014-07-30 09:00:50 ITeye-博客 原文  http://josh-persistence.iteye.com/blog/2098415 主题 Java SQL java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp…
Overview 一个在生产环境里运行的程序如果没有日志是很让维护者提心吊胆的,有太多杂乱又无意义的日志也是令人伤神.程序出现问题时候,从日志里如果发现不了问题可能的原因是很令人受挫的.本文想讨论的是如何在Java程序里写好日志. 一般来说日志分为两种:业务日志和异常日志,使用日志我们希望能达到以下目标: 1.对程序运行情况的记录和监控: 2.在必要时可详细了解程序内部的运行状态: 3.对系统性能的影响尽量小: Java日志框架 Java的日志框架太多了... 1.Log4j 或 Log4j 2…
系统启动,一段时间不操作,然后在来操作时,报错如下: Caused by: java.sql.SQLException: Couldn't perform the operation getAutoCommit: You can't perform any operations on this connection. It has been automatically closed by Proxool for some reason (see logs). at org.logicalcobw…
MS SQL的日志信息/日志记录,可能对你来说,既熟悉又陌生,熟悉是因为你可能一直都在使用,查看.关注一些日志信息/记录,例如,作业历史记录:陌生是因为你可能从不关注日志信息/记录的管理,这里我一直用日志信息/记录这个词,而没有用日志文件这个词来阐述,是想让大家把它和事务日志文件(ldf)区分开来,网上你用日志文件做搜索关键词,可能搜出来的都是事务日志相关的信息.其实它真的也叫日志文件,这篇文章我大概从日志记录分类.如何查看日志记录.日志记录的位置.日志记录的设置.为什么错误日志会暴增.如何清除…
Java常用日志框架介绍 java日志概述 对于一个应用程序来说日志记录是必不可少的一部分.线上问题追踪,基于日志的业务逻辑统计分析等都离不日志.java领域存在多种日志框架,目前常用的日志框架包括Log4j,Log4j 2,Commons Logging,Slf4j,Logback,Jul. java常用日志框架类别介绍 Log4j Apache Log4j是一个基于Java的日志记录工具.它是由Ceki Gülcü首创的,现在则是Apache软件基金会的一个项目. Log4j是几种Java日…
报错信息: +---------------------------------------------------------------------------+ Plsql 程序的日志信息开始 +---------------------------------------------------------------------------+ +-----------------------------------------------------------------------…