当前位置: 首页 > news >正文

电子通讯录网站建设门户网站 集成 移动app 方案

电子通讯录网站建设,门户网站 集成 移动app 方案,网站备案查询背景布,wordpress 随机重复jboss7 关闭日志打印使用ORM从您的特定数据库中提取数据并让其创建和发布您必须亲自编写的所有SQL语句似乎很方便。 这就是使ORM解决方案受欢迎的原因。 但是它也有一个缺点#xff1a;由于ORM为您做了很多工作#xff0c;您在某种程度上失去了对生成SQL的控制#xff0c;因… jboss7 关闭日志打印 使用ORM从您的特定数据库中提取数据并让其创建和发布您必须亲自编写的所有SQL语句似乎很方便。 这就是使ORM解决方案受欢迎的原因。 但是它也有一个缺点由于ORM为您做了很多工作您在某种程度上失去了对生成SQL的控制因此您不得不依靠ORM为您创建高性能的语句。 但是有可能发生的是ORM生成SQL可能不是您手工编写的并期望ORM为您完成。 在这种情况下您必须重新控制SQL然后再次使用代码。 在大型应用程序中此任务并不那么琐碎因为可能有数百条Java代码发布到数据库中这些语句源于数百行Java代码这些代码大量使用了JPA功能。 跟踪数据库分析工具已确定为有问题SQL语句直到实际的代码行变得繁琐。 我们知道我们可以在persistence.xml中使用以下两行为Hibernate启用SQL语句日志记录 property namehibernate.show_sql valuetrue/ property namehibernate.format_sql valuetrue/ 但是这只会输出已经生成SQL。 实际的Java代码行仍然不可见。 对于较小的应用程序将调试器附加到应用程序服务器并通过代码进行调试直到找到记录有问题SQL语句的行这可能是可行的但是对于较大的应用程序这很费时间。 由于Hibernate本身不提供任何拦截日志记录的方法并提供了更多信息来增强日志记录因此我们将不得不自己做。 JBoss 文档指出可以编写自己的自定义日志记录处理程序。 由于此日志记录处理程序接收到所有日志记录消息并且消息也由Hibernate在启用了SQL日志记录的情况下生成因此我们可以尝试查找所需的行然后将堆栈跟踪输出到我们自己的日志文件中。 编写自定义日志记录处理程序非常简单。 您所要做的就是设置一个小项目该类带有一个类该类扩展了JDK包java.util.logging中的Handler类 package mypackage;import java.util.logging.Handler; import java.util.logging.LogRecord;public class MyJBossLogger extends Handler {Overridepublic void publish(LogRecord record) {}Overridepublic void flush() {}Overridepublic void close() throws SecurityException {} } publish方法以LogRecord实例的形式接收所有日志记录输出。 它的方法getMessage使我们可以直接访问输出。 因此我们可以将此消息与从某些配置文件中加载的某些关键字进行匹配 Override public void publish(LogRecord record) {String message record.getMessage();buffer.add(message \n);if (keywords null) {keywords loadKeywords();}if (matches(message, keywords)) {String stacktrace \nStacktrace:\n;StackTraceElement[] stackTrace Thread.currentThread().getStackTrace();for (StackTraceElement element : stackTrace) {stacktrace element.toString() \n;}buffer.add(stacktrace);flush();} } 这里的Buffer是一些简单的数据结构例如guava的EvictingQueue 用于缓冲最后几行因为对输出的每一行都会调用publish方法。 由于一条完整SQL语句跨越多行因此我们必须记住其中的几条。 在缓冲行和当前行旁边我们还输出当前堆栈跟踪的字符串表示形式。 稍后这会在日志文件中告诉我们从何处调用该文件以及在项目中哪一行Java代码导致当前语句。 编译完项目后我们可以将生成的jar文件复制到新创建的文件夹结构下$ JBOSS_HOME / modules / system / layers / base / com / mydomain / mymodule / main对于JBoss AS 7.2。 为了向JBoss AS告知我们的新模块我们必须创建一个名为module.xml的XML文件其内容如下 ?xml version1.0 encodingUTF-8? module xmlnsurn:jboss:module:1.1 namecom.mydomain.mymoduleresourcesresource-root pathMyJBossLogger-0.0.1-SNAPSHOT.jar//resources /module 模块的名称与JBoss modules文件夹中的路径相对应。 它还将在配置文件中用于配置我们的自定义日志记录处理程序 ... subsystem xmlnsurn:jboss:domain:logging:1.2custom-handler nameCUSTOM modulecom.mydomain.mymodule classcom.mydomain.mymodule.MyJBossLoggerlevel nameDEBUG//custom-handler... 当我们实现日志记录处理程序的flush方法以将输出写入某些日志文件时我们将看到类似以下内容当然是压缩形式 Hibernate: select ... from customer ... Stacktrace: java.lang.Thread.getStackTrace(Thread.java:1568) com.mydomain.mymodule.MyJBossLogger.publish(MyJBossLogger.java:20) org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:292) org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:300) org.jboss.logmanager.Logger.logRaw(Logger.java:721) org.jboss.logmanager.Logger.log(Logger.java:506) ... com.mydomain.myapp.ArticleEntity.getCustomers(ArticleRepository.java:234) ... 在这里我们可以清楚地看到哪个OneToMany关系导致了我们正在寻找的有问题的选择语句。 结论 当您想在源代码中找到发出具体查询的确切位置时使用自定义日志记录处理程序将当前堆栈跟踪注入到SQL语句的日志记录中可能会有所帮助。 事实证明为JBoss AS编写自己的自定义日志记录处理程序也是一项直接的任务。 翻译自: https://www.javacodegeeks.com/2014/07/tracing-sql-statements-in-jboss-as-7-using-a-custom-logging-handler.htmljboss7 关闭日志打印
http://wiki.neutronadmin.com/news/108341/

相关文章:

  • 网站开发行业标准学室内设计要多久能学会
  • 阿里云网站域名申请网站系统升级需要多久
  • 十大招商平台百度seo搜索引擎优化方案
  • 杭州网站建设公司推荐动漫制作专业专科
  • 沾益住房和城乡建设局网站qq是哪个公司创办的
  • 微信公众号服务号网站开发流程图网站设计建设有限公司
  • 建设一个连接的网站银川网站开发
  • 大型网站集群怎么做学做ps的网站
  • dede网站栏目管理如何建设公司网站公司网站
  • 重庆建网站价格表湖北海厦建设有限公司网站
  • 安康 住房城乡建设部网站网站设计实验报告内容与步骤
  • 唐山建设工程安全监督网站wordpress 4.7.2 中文
  • 做网站的用户需求分析网站建设方案和报价表
  • 网站建设要做什么windows删除wordpress
  • 设计网站的功能有哪些内容做的网站很卡是什么原因呢
  • 网站秒收录秒排名wordpress 谷歌云
  • 镇江网站建设zjmfkj中国人在俄罗斯做网站需要多少卢布
  • 做网站编辑我能力得到提升乐山市城乡规划建设局网站
  • 北京免费模板建站站长之家最新网站
  • 韩城市网站建设局电话娄底360seo优化公司
  • 网页设计用什么尺寸的画布关键词seo排名怎么选
  • 单页销售网站制作制作z怎么做优惠券网站
  • 手机网站建设czyzj海拉尔网页设计
  • 南郑县城乡建设局网站wordpress模板关系
  • 做app网站的公司哪家好产品策划推广方案
  • 潍坊外贸网站建设win2003 iis做网站
  • 北京网站建设迈程网络全球知名购物网站有哪些
  • 加个自己的网站小程序公司开发排名
  • 旅游网站建设方案的总结wordpress获取相关文章
  • 网站建设的资金问题淘宝客网站里面catid=16