`
conkeyn
  • 浏览: 1529129 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

OpenJPA配置日志

阅读更多

转自:http://hi.baidu.com/f1jee/blog/item/6ef95df497efe965dcc4744c.html

 

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自带的日志实现和自定义的日志,这里不详细介绍,请读者参阅相关的文档。

分享到:
评论

相关推荐

    Spring和openJPA集成

    然后,在Spring的配置文件(如applicationContext.xml)中声明OpenJPA的数据源、实体管理和事务管理器。 2. **实体类定义** 定义与数据库表对应的Java实体类,使用JPA的注解如@Entity、@Table、@Id等来描述实体...

    Spring中使用OpenJPA

    同时,注意在开发过程中,OpenJPA的日志可以帮助你调试和优化,你可以通过配置控制台输出或日志文件来查看相关信息。 总之,Spring与OpenJPA的结合为Java开发者提供了一个强大且灵活的持久层解决方案,使得我们能够...

    通过 WebSphere Application Server V6.1 利用 OpenJPA

    为了调试和优化,OpenJPA提供了详细的日志功能,可以通过配置log4j.properties文件来控制日志级别和输出。这对于理解和优化OpenJPA的行为非常有帮助。 最后,记得在部署应用到WebSphere之前,进行适当的测试。可以...

    Spring MVC+OpenJPA框架

    首先,需要在Spring配置中定义数据源、OpenJPA实体管理和事务管理器。然后,通过@Autowired注解将实体管理器注入到需要的地方,如服务层。这样,我们就可以在控制器中直接调用服务层的方法,进行CRUD操作,OpenJPA会...

    JPA连接数据库,非常详细

    8. `openjpa.Log`: 日志配置,用于控制OpenJPA的日志级别和输出。 在代码部分,可以看到一个名为`DAOServices`的抽象类,它使用了静态变量来管理`EntityManager`。`EntityManagerFactory`是用于创建`EntityManager`...

    springdatajpa.pdf

    Hibernate之外,还有其他实现了JPA规范的框架,比如OpenJPA、TopLink等。开发者可以根据项目需求选择不同的JPA实现,而SpringDataJPA就是在此之上提供了一层抽象,即Repository层的实现,进一步简化了持久层的代码...

    spring3.0 + jpa 需要的jar包

    在Java开发中,Spring框架和Java ...不过,实际项目中还可能需要其他依赖,例如Spring的AOP、ORM、Web模块等,以及数据库特定的驱动和JPA的其他实现(如EclipseLink或OpenJPA),具体依赖于项目的需求和配置。

    Concise tips and examples for using Open Liberty.zip

    - 配置JPA提供者,如OpenJPA或Hibernate,通过`persistence.xml`文件。 - 实现ORM(对象关系映射),定义实体类,使用注解如`@Entity`, `@Table`, `@Id`等。 10. **WebSocket支持** - 开发WebSocket应用,使用`@...

    activemq消息持久化所需Jar包

    5. **OpenJPA**:OpenJPA是一个开源的Java持久层框架,用于对象关系映射(ORM)。在ActiveMQ中,它用于在KahaDB中实现消息的持久化。你需要`openjpa-all.jar` 来支持这一功能。 6. **其他依赖**:此外,还有一些其他...

    TongWeb6.1用户使用手册.pdf

    TongWeb6.1还支持EJB3.1,手册中提供了EJB3.0和EJB3.1特性的相关说明,JPA的OpenJPA实现,以及EJB容器特性的支持,包括实例管理、查看编辑配置属性、远程调用和集群功能。全球事务章节中,手册讲解了全局事务的概念...

    hibernate的有关JAR包

    6. **EclipseLink或OpenJPA**:有时,`javax.persistence-api.jar`会出现在包里,这可能是为了支持JPA(Java Persistence API)。EclipseLink或OpenJPA是JPA的实现,虽然Hibernate也是JPA供应商,但有些项目可能选择...

    ehire-open.zip

    3. 日志管理:合理配置日志系统,如Logback或Log4j,便于问题排查。 4. 错误处理:自定义全局异常处理器,提高错误反馈的用户体验。 5. 安全性:利用Spring Security增强应用安全性,设置合适的认证和授权策略。 6. ...

    TongWeb6.0用户使用手册.pdf

    - **持久化框架**:支持Hibernate、OpenJPA等流行的ORM工具。 - **消息中间件**:集成ActiveMQ等消息传递组件。 #### 1.6 规范支持 TongWeb6.0严格遵循以下技术规范: - Java EE 6 Web Profile - JDBC - JPA - EJB ...

    hibernate lib包

    7. **EclipseLink或OpenJPA**:在某些情况下,可能需要这些JPA提供商的库,特别是在与JPA集成时。 8. **ASM或ByteBuddy**:Hibernate使用这些库进行运行时字节码操作,用于实体类的动态代理和增强。 9. **Commons-...

    openliberty-17.0.0.3.zip

    6. **features**:包含OpenLiberty支持的各种特性清单,比如JAX-RS(Java API for RESTful Web Services)、JPA(Java Persistence API)、CDI(Contexts and Dependency Injection)等。用户可以通过修改`server....

    tomcat调用EJB必须的包.rar

    - 持久化提供者的实现,如Hibernate或OpenJPA,这些是JPA的具体实现,用于实际的数据操作。 - JMS(Java Message Service)库,用于EJB之间的异步通信。 - 连接池库,如C3P0或Apache DBCP,用于管理数据库连接资源。...

    hibernate需要jar包

    - **EclipseLink或OpenJPA**:对于使用JPA(Java Persistence API)的项目,可能还需要这些JPA提供商的库。 在实际项目中,将这些JAR包添加到项目的类路径后,还需要进行相应的配置,比如在hibernate.cfg.xml文件中...

    EhcacheUserGuide

    #### 三十九、OpenJPA缓存(OpenJPA Caching) OpenJPA是Java Persistence API的一个开源实现。这部分内容介绍了如何将Ehcache与OpenJPA结合起来使用。 #### 四十、Grails缓存(Grails Caching) Grails是基于...

Global site tag (gtag.js) - Google Analytics