proxool连接池有自己的日志记录,但我想把proxool的日志统一输出到某一个文件中。而把自己程序的日志单独输出到某一文件中.
想过通过输出级别来控制,但是达不到要求。大家有没有好的方法。

解决方案 »

  1.   

    一、如何使用Log4j记录Proxool中的日志
           1) 想必用Proxool的同志们一定会看过其帮助文件吧,那里面有关于log的一个章节,但是里面只教大家如何去配置log4j的xml的使用方式,而没有去教大家log4j是怎么连接到proxool的日志系统(默认是输出INFO级别的信息到Console中)中的。
          2)Proxool中日志记录是试用了Apache的common-logging组件,也就是说,如果你想使用log4j为日志的管理程序时,你就必须配置common-logging使其指向log4j.
          3)common-logging文件配置方式,文件名:commons-logging.properties,文件内容:org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger。当然了前提是您的项目中一定要包含commons-logging.jar和apache-log4j.jar。这样Proxool就会将其日志控制转交给log4j.
          4)log4j配置文件的技巧,其实没有必要按照Proxool中的方式去寻找log4j.xml文件,只要将其放入classes文件下,log4j就会自动找到log4j.xml配置文件。但文件名字一定要是log4j.xml.二、解决相同日志重复输出的问题
           1)为什么会出现这个问题?
                 其实具体的原因我也说不清楚,因为我还没有细致研究过log的原理。表面的原因是这个,在Proxool帮助文件中很明确的说明了,可以分别为单独的数据库连接池做日志,问题就出在这里。帮助文件的代码<category name="org.logicalcobwebs.proxool.test">
                      <appender-ref ref="test-appender"/>
               </category>
    只要不加这行代码,Proxool的日志管理就不会同时输入两编相同的日志。
      

  2.   

    这个还真没用过
    log4j还差不多
      

  3.   

    proxool是一个数据库的连接池,它的日志系统使用的也是log4j。这就会和自己写的程序的日志重复输出,并且显的杂乱无章。所以想实现这两个日志有单独的配置,输出到单独的文件,或者禁用proxool的日志
      

  4.   

      我公司也是用 proxool 来作为数据库的连接池。但怎么禁用日志输出不是很了解
       帮你顶下吧