cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Lost log4j logging

Former Member
0 Likes
1,246

Hi,

I am working on an application running with Jboss and I use CR4E 2.0.

I have log4j configured and working correctly on jboss but when I open a report with reportClientDocument.open(...), there is no more log in console or in the log file.

Even system.out.println writes nothing.

Here the log4j.xml file I use:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">

   <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
      <param name="File" value="${jboss.server.home.dir}/log/server.log"/>
      <param name="Append" value="false"/>
	  <param name="Threshold" value="DEBUG"/> 
      <param name="DatePattern" value="'.'yyyy-MM-dd'.log'"/>
      <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
      </layout>
   </appender>

   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
      <param name="Target" value="System.out"/>
      <param name="Threshold" value="INFO"/>
      <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
      </layout>
   </appender>

  
   <category name="org.apache">
      <priority value="INFO"/>
   </category>
   
   <category name="org.jgroups">
      <priority value="WARN"/>
   </category>
   
   <category name="org.jboss.axis">
      <priority value="INFO"/>
   </category>

   <category name="org.jboss.management">
      <priority value="INFO"/>
   </category>

   <root>
      <appender-ref ref="CONSOLE"/>
      <appender-ref ref="FILE"/>
   </root>
</log4j:configuration>

I have tried to add the following code to the xml file but with no result.

<category name="com.crystaldecisions.reports">
      <priority value="ERROR"/>
   </category>
   
    <category name="com.crystaldecisions.threedg">
      <priority value="ERROR"/>
   </category>
   
    <category name="com.crystaldecisions.common">
      <priority value="ERROR"/>
   </category>
   
    <category name="com.businessobjects.reports">
      <priority value="ERROR"/>
   </category>
   
    <category name="com.crystaldecisions.reports.formulas">
      <priority value="ERROR"/>
   </category>

How can I configure log4j to keep the jboss logging?

Thanks.

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Likes

Well, it's working fine for me.

Thanks for the information.

Former Member
0 Likes

Hi,

I'am using jboss 4.0.3sp1.

Also

By the way it seems there is somewhere an unclosed connection.

I forgot to close the ReportClientDocument.

Former Member
0 Likes

For CR4E 2.0 ... only JBoss 4.2.x and 5.0 are supported.

Please chek this link

https://webservice.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/20c69834-cfc4-2b10-da81-9...

Thanks,

Tej

Former Member
0 Likes

What about tomcat?. I'm having the same problem, when my code reaches the CR classes all log4j messages are lost. I'm using Tomcat 5.5.

Former Member
0 Likes

After a long search, I have found the following :

in the JRCCommunicationAdapter class, a fonction is calling Logger.getRootLogger().setLevel(Level.ERROR).

So I'have made a copy of the rootLogger's level before I open the ReportClientDocument and re-set it after the open.

Level rootLevel = Logger.getRootLogger().getLevel();
...
oReportClientDocument.open (iRptName, OpenReportOptions._openAsReadOnly);
Logger.getRootLogger().setLevel(rootLevel);

By the way it seems there is somewhere an unclosed connection.

Here is the stacktrace:

[CachedConnectionManager] Closing a connection for you.  Please close them yourself: org.jboss.resource.adapter.jdbc.WrappedConnection@1f0750a
java.lang.Throwable: STACKTRACE
	at org.jboss.resource.connectionmanager.CachedConnectionManager.registerConnection(CachedConnectionManager.java:333)
	at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:482)
	at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:894)
	at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:73)
	at com.crystaldecisions.reports.queryengine.driverImpl.jdbc.JDBCConnection.Open(Unknown Source)
	at com.crystaldecisions.reports.queryengine.JDBConnectionWrapper.Open(Unknown Source)
	at com.crystaldecisions.reports.queryengine.Connection.bv(Unknown Source)
	at com.crystaldecisions.reports.queryengine.Connection.bv(Unknown Source)
	at com.crystaldecisions.reports.queryengine.Connection.va(Unknown Source)
	at com.crystaldecisions.reports.dataengine.dfadapter.DFAdapter.a(Unknown Source)
	at com.crystaldecisions.reports.dataengine.dfadapter.DFAdapter.for(Unknown Source)
	at com.crystaldecisions.reports.reportdefinition.ReportHelper.a(Unknown Source)
	at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.long(Unknown Source)
	at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.a(Unknown Source)
	at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.int(Unknown Source)
	at com.businessobjects.reports.sdk.JRCCommunicationAdapter.do(Unknown Source)
	at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(Unknown Source)
	at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(Unknown Source)
	at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.a(Unknown Source)
	at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.call(Unknown Source)
	at com.crystaldecisions.reports.common.ThreadGuard.syncExecute(Unknown Source)
	at com.businessobjects.reports.sdk.JRCCommunicationAdapter.for(Unknown Source)
	at com.businessobjects.reports.sdk.JRCCommunicationAdapter.int(Unknown Source)
	at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
	at com.businessobjects.sdk.erom.jrc.a.a(Unknown Source)
	at com.businessobjects.sdk.erom.jrc.a.execute(Unknown Source)
	at com.crystaldecisions.proxy.remoteagent.RemoteAgent$a.execute(Unknown Source)
	at com.crystaldecisions.proxy.remoteagent.CommunicationChannel.a(Unknown Source)
	at com.crystaldecisions.proxy.remoteagent.RemoteAgent.a(Unknown Source)
	at com.crystaldecisions.sdk.occa.report.application.ds.a(Unknown Source)
	at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
	at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
	at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.if(Unknown Source)
	at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
	at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)

Former Member
0 Likes

which version of JBoss are you using?

Thanks,

Tej