博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenJPA配置日志
阅读量:2454 次
发布时间:2019-05-10

本文共 2224 字,大约阅读时间需要 7 分钟。

转自:

 

OpenJPA最值得关注的特性就是它贯穿了插件(Plugin)的思想,这使得OpenJPA的扩展性更强。对于日志的配置,OpenJPA不仅有其自己的实现,也有Log4J、Apache Commons Logging和自定义的日志处理。

OpenJPA中配置日志的属性如下所示。
(1)属性名:openjpa.Log
    描述:配置日志属性,对应配置的API为 org.apache.openjpa.conf.OpenJPAConfiguration. getLog。
    可选值:
        — openjpa:OpenJPA默认的日志实现。
        — commons:Apache Commons Logging日志实现。
        — log4j:Log4J的日志实现。
        — none:禁用日志。
    示例:禁用日志
    <property name=" openjpa.Log " value="none "/>
(2)日志类别
    同Hibernate的日志处理相似,OpenJPA也将日志的信息进行了分类,这些类别如表14-4所示。
    表14-4 OpenJPA实现日志类别
   

属性名 描    述
openjpa.Tool 由OpenJPA命令行工具、Ant工具输出的信息
openjpa.Enhance 由OpenJPA的强化机制,在转换类时输出的信息
openjpa.MetaData 生成OR映射时输出的信息
openjpa.Runtime 运行时输出的信息
openjpa.Query 执行查询时输出的信息
openjpa.DataCache 使用缓存时输出的信息
openjpa.jdbc.JDBC JDBC连接数据库时的信息
openjpa.jdbc.SQL 输出的SQL信息

    示例:打印SQL日志

    <property name="openjpa.Log" value="SQL=TRACE"/>
    其中,TRACE为日志的级别,OpenJPA的日志级别从低到高分别是TRACE、INFO(默认)、WARN、ERROR和FATAL。
    如果要打印出格式化后的SQL,可以对属性“openjpa.ConnectionFactoryProperties”进行配置,代码如下:
    <property name="openjpa.Log" value="SQL=TRACE"/>
    <property name="openjpa.ConnectionFactoryProperties"
    value="PrettyPrint=true, PrettyPrintLineLength=72"/>
    其中,PrettyPrint=true表示格式化输出SQL,PrettyPrintLineLength=72表示默认的一行为72个字符长度。
(3)openjpa.Log的值可以由以下4部分组成,配置的每个部分用逗号分隔。
    — File:可以指定日志保存的文件。
    — DefaultLevel:日志默认的级别。
    — DiagnosticContext:在所输出的日志前增加诊断信息。
    — <channel>:日志类别,如表14-4所示。
    示例一:标准的日志配置
    <property name="openjpa.Log" value="DefaultLevel=WARN, Runtime=INFO, Tool=INFO"/>
    示例二:标准的日志配置和所有的SQL日志
    <property name="openjpa.Log"
    value="DefaultLevel=WARN, Runtime=INFO, Tool=INFO, SQL=TRACE"/>
    示例三:标准的日志配置同时保存到指定文件中
    <property name="openjpa.Log"
    value="File=/tmp/org.apache.openjpa.log,DefaultLevel=WARN,Runtime=INFO, Tool=INFO"/>
(4)配置Log4J
    当日志使用 Log4J时,需要在log4j.properties中配置日志,例如log4j.properties的配置如下所示。
    log4j.rootCategory=WARN, console
    log4j.category.openjpa.Tool=INFO
    log4j.category.openjpa.Runtime=INFO
    log4j.category.openjpa.Remote=WARN
    log4j.category.openjpa.DataCache=WARN
    log4j.category.openjpa.MetaData=WARN
    log4j.category.openjpa.Enhance=WARN
    log4j.category.openjpa.Query=WARN
    log4j.category.openjpa.jdbc.SQL=WARN
    log4j.category.openjpa.jdbc.JDBC=WARN
    log4j.category.openjpa.jdbc.Schema=WARN
    log4j.appender.console=org.apache.log4j.ConsoleAppender
另外,OpenJPA的日志还可以使用JDK自带的日志实现和自定义的日志,这里不详细介绍,请读者参阅相关的文档。

转载地址:http://zddhb.baihongyu.com/

你可能感兴趣的文章
ssh框架实现数据库_自顶向下介绍SSH及其如何实现安全的数据共享
查看>>
测试驱动开发 测试前移_测试驱动开发简介
查看>>
css 网格布局_我从CSS网格布局中学到的东西
查看>>
快速了解Kubernetes微服务中的通信
查看>>
如何使您的Kotlin Android动画可访问
查看>>
github pages_使用GitHub Pages和Lighthouse增强您的开发人员产品组合
查看>>
JavaScript命名约定:注意事项
查看>>
html:漂亮的原生表格_HTML表格:关于它们的所有知识
查看>>
sqoop架构_SQOOP架构的深入介绍
查看>>
自行车车把会吧车刮坏吗_花10分钟即可开始使用车把
查看>>
在线学位课程_如何选择计算机科学学位课程
查看>>
React入门指南
查看>>
机器学习技术现状_教育技术如何颠覆传统学习的现状
查看>>
算法渐近性质分析_神奇宝贝解释的渐近分析:深入研究复杂性分析
查看>>
工厂用抽象类比接口_用简单的现实类比解释硬编码概念
查看>>
aws lambda使用_如何使用AWS Lambda和S3构建无服务器URL缩短器
查看>>
c专家编程/c陷阱_如何避免常见的初学者陷阱并像专家一样开始编码
查看>>
ruby on rails_我成为了Ruby on Rails和React的贡献者,你也可以
查看>>
React模式:集中式PropTypes
查看>>
esp freertos_如何开始使用FreeRTOS和ESP8266
查看>>