Debarshi Sanyal | 13 Jun 17:15

Unable to display caller name in log info

Hi,

I wrote a small Java program to configure an org.apache.log4j.Logger and log messages using it.

Excerpts from the Java file are:

package MyPackage;

//...

public class LogTest
{
    private static Hashtable cLoggerHash = new Hashtable();
    private void setLogInfo()
    {
        String sLogFile = "TestLogFile.log";
        Logger cLogger = Logger.getLogger( sLogFile );
        cLogger.setLevel( Level.toLevel("DEBUG") );
        PatternLayout cLayout = new PatternLayout();
        cLayout.setConversionPattern( "[%d{yyyy/MM/dd HH:mm:ss.SSS}]%C     - %m%n" );
  
     
        RollingFileAppender cFileAppender = new RollingFileAppender();
        //...
        cFileAppender.activateOptions(

);
        cFileAppender.setLayout( cLayout );
        cLogger.addAppender( cFileAppender );
        cLoggerHash.put( sLogFile, cLogger );
   }
   public static void main (String[] args)
   {
       LogTest logTest = new LogTest();
       logTest.setLogInfo();
       Logger cLogger = Logger.getLogger( "TestLogFile.log" );
       cLogger.log("TestLogFile.log", Level.INFO,  "\t ++++++++++++++ This is a test log +++++++++++++++++ ", null);
        
   }
       
The output is:
[2008/06/13 20:24:53.415]?     -     ++++++++++++++ This is a test log +++++++++++++++++


The fully qualified classname is NOT displayed.
Instead a "?" is displayed.

Please help.

Regards,
Debarshi
Curt Arnold | 13 Jun 18:56

Re: Unable to display caller name in log info


On Jun 13, 2008, at 10:15 AM, Debarshi Sanyal wrote:

> Hi,
>
> I wrote a small Java program to configure an org.apache.log4j.Logger  
> and log messages using it.
>
> Excerpts from the Java file are:
>
> package MyPackage;
>
> //...
>
> public class LogTest
> {
>     private static Hashtable cLoggerHash = new Hashtable();
>     private void setLogInfo()
>     {
>         String sLogFile = "TestLogFile.log";
>         Logger cLogger = Logger.getLogger( sLogFile );
>         cLogger.setLevel( Level.toLevel("DEBUG") );
>         PatternLayout cLayout = new PatternLayout();
>         cLayout.setConversionPattern( "[%d{yyyy/MM/dd HH:mm:ss.SSS}] 
> %C     - %m%n" );
>
>
>         RollingFileAppender cFileAppender = new RollingFileAppender();
>         //...
>         cFileAppender.activateOptions(
> );
>         cFileAppender.setLayout( cLayout );
>         cLogger.addAppender( cFileAppender );
>         cLoggerHash.put( sLogFile, cLogger );
>    }
>    public static void main (String[] args)
>    {
>        LogTest logTest = new LogTest();
>        logTest.setLogInfo();
>        Logger cLogger = Logger.getLogger( "TestLogFile.log" );
>        cLogger.log("TestLogFile.log", Level.INFO,  "\t +++++++++++++ 
> + This is a test log +++++++++++++++++ ", null);
>
>    }
>
> The output is:
> [2008/06/13 20:24:53.415]?     -     ++++++++++++++ This is a test  
> log +++++++++++++++++
>
>
> The fully qualified classname is NOT displayed.
> Instead a "?" is displayed.
>
> Please help.
>
> Regards,
> Debarshi

This question should have been asked on log4j-user, not log4cxx-user.   
The most common cause is that the class file was not compiled with  
debug information.

Debarshi Sanyal | 16 Jun 11:13

Re: Unable to display caller name in log info

Sorry for posting to the wrong forum and thanks for the response. But could you please let me know if any special flags need to be turned on in javac or java.

Best Regards,
Debarshi


On 6/13/08, Curt Arnold <carnold <at> apache.org> wrote:

On Jun 13, 2008, at 10:15 AM, Debarshi Sanyal wrote:

Hi,

I wrote a small Java program to configure an org.apache.log4j.Logger and log messages using it.

Excerpts from the Java file are:

package MyPackage;

//...

public class LogTest
{
   private static Hashtable cLoggerHash = new Hashtable();
   private void setLogInfo()
   {
       String sLogFile = "TestLogFile.log";
       Logger cLogger = Logger.getLogger( sLogFile );
       cLogger.setLevel( Level.toLevel("DEBUG") );
       PatternLayout cLayout = new PatternLayout();
       cLayout.setConversionPattern( "[%d{yyyy/MM/dd HH:mm:ss.SSS}]%C     - %m%n" );


       RollingFileAppender cFileAppender = new RollingFileAppender();
       //...
       cFileAppender.activateOptions(
);
       cFileAppender.setLayout( cLayout );
       cLogger.addAppender( cFileAppender );
       cLoggerHash.put( sLogFile, cLogger );
  }
  public static void main (String[] args)
  {
      LogTest logTest = new LogTest();
      logTest.setLogInfo();
      Logger cLogger = Logger.getLogger( "TestLogFile.log" );
      cLogger.log("TestLogFile.log", Level.INFO,  "\t ++++++++++++++ This is a test log +++++++++++++++++ ", null);

  }

The output is:
[2008/06/13 20:24:53.415]?     -     ++++++++++++++ This is a test log +++++++++++++++++


The fully qualified classname is NOT displayed.
Instead a "?" is displayed.

Please help.

Regards,
Debarshi


This question should have been asked on log4j-user, not log4cxx-user.  The most common cause is that the class file was not compiled with debug information.


Curt Arnold | 16 Jun 19:03

Re: Unable to display caller name in log info


On Jun 16, 2008, at 4:13 AM, Debarshi Sanyal wrote:

> Sorry for posting to the wrong forum and thanks for the response.  
> But could you please let me know if any special flags need to be  
> turned on in javac or java.
>

Try adding a -g to your javac command.


Gmane