本文共 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/