Alessandro Ferrucci | 12 Apr 2011 22:15
Picon

log4cxx not honoring ConversionPattern

Good Evening,

I've compiled log4cxx 0.10.0.

I have the following Property file for log4cxx configuration:

log4j.rootLogger = DEBUG, CONSOLE, FILE

log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.FILE.File=/home/ferru001/IslandAreas_Imaging/logs/log.txt

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.ConversionPattern=%-5p %d [%t] %c: %m%n

output comes to both CONSOLE and the file but it it's not decorated at all with the above ConversionPattern, it only has the output string.

any ideas?

Thank you,
--
Signed,
Alessandro Ferrucci

Jacob L. Anawalt | 13 Apr 2011 17:43

Re: log4cxx not honoring ConversionPattern

On 2011-04-12 14:15, Alessandro Ferrucci wrote:
> log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
> log4j.appender.CONSOLE.ConversionPattern=%-5p %d [%t] %c: %m%n
>

It's layout.ConversionPattern, eg:

log4j.appender.CONSOLE.layout.ConversionPattern=%-5p %d [%t] %c: %m%n
                        ^^^^^^
See also:

* http://logging.apache.org/log4cxx/index.html (sample configuration 
snippet)
* http://wiki.apache.org/logging-log4cxx/PatternLayout
* The log4j manual (link on wiki home page)

--

-- 
Jacob Anawalt
Gecko Software, Inc.
janawalt <at> geckosoftware.com
435-752-8026

Alessandro Ferrucci | 14 Apr 2011 16:19
Picon

Thread name hex value

Hello,
I have the following log4cxx.properties file:

log4j.rootLogger = DEBUG, CONSOLE, FILE

log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.FILE.File=/home/ferru001/IslandAreas_Imaging/logs/log.txt

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%-5p %d [%t] %c: %m%n

I have a pthreads program and the thread IDs come out as

INFO  2011-04-14 10:07:39,217 [0x427a8940] TIFFReader: Initialize inbound TCP socket
INFO  2011-04-14 10:07:39,217 [0x43baa940] TIFFReader: STARTED THREAD
INFO  2011-04-14 10:07:39,217 [0x431a9940] TIFFReader: STARTED THREAD worker1
INFO  2011-04-14 10:07:39,218 [0x43baa940] TIFFReader: WAITING FOR NEXT BATCH...

I start the threads as

if( (  returnVal = pthread_create(&t, NULL, register_function, (void*)threadname.c_str() ))!=0)
{
            LOG4CXX_ERROR( logger, "pthread_create:Error "<<returnVal<<"("<<errno<<")" );
}

Is there any way for the thread ID value in the log files to have a more human readable value?

--
Signed,
Alessandro Ferrucci

Alessandro Ferrucci | 14 Apr 2011 16:30
Picon

Re: log4cxx not honoring ConversionPattern

Yes thank you that works.


On Wed, Apr 13, 2011 at 11:43 AM, Jacob L. Anawalt <janawalt <at> geckosoftware.com> wrote:
On 2011-04-12 14:15, Alessandro Ferrucci wrote:
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.ConversionPattern=%-5p %d [%t] %c: %m%n


It's layout.ConversionPattern, eg:

log4j.appender.CONSOLE.layout.ConversionPattern=%-5p %d [%t] %c: %m%n
                      ^^^^^^
See also:

* http://logging.apache.org/log4cxx/index.html (sample configuration snippet)
* http://wiki.apache.org/logging-log4cxx/PatternLayout
* The log4j manual (link on wiki home page)

--
Jacob Anawalt
Gecko Software, Inc.
janawalt <at> geckosoftware.com
435-752-8026



--
Signed,
Alessandro Ferrucci
Alessandro Ferrucci | 17 Apr 2011 17:19
Picon

Re: Thread name hex value

bump.

Just wondering if anyone knows the answer to this question or knows that in fact it is not possible to have it any other way.

Thank you,
Alessandro Ferrucci

On Thu, Apr 14, 2011 at 10:19 AM, Alessandro Ferrucci <alessandroferrucci <at> gmail.com> wrote:
Hello,
I have the following log4cxx.properties file:

log4j.rootLogger = DEBUG, CONSOLE, FILE

log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.FILE.File=/home/ferru001/IslandAreas_Imaging/logs/log.txt

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%-5p %d [%t] %c: %m%n

I have a pthreads program and the thread IDs come out as

INFO  2011-04-14 10:07:39,217 [0x427a8940] TIFFReader: Initialize inbound TCP socket
INFO  2011-04-14 10:07:39,217 [0x43baa940] TIFFReader: STARTED THREAD
INFO  2011-04-14 10:07:39,217 [0x431a9940] TIFFReader: STARTED THREAD worker1
INFO  2011-04-14 10:07:39,218 [0x43baa940] TIFFReader: WAITING FOR NEXT BATCH...

I start the threads as

if( (  returnVal = pthread_create(&t, NULL, register_function, (void*)threadname.c_str() ))!=0)
{
            LOG4CXX_ERROR( logger, "pthread_create:Error "<<returnVal<<"("<<errno<<")" );
}

Is there any way for the thread ID value in the log files to have a more human readable value?

--
Signed,
Alessandro Ferrucci



--
Signed,
Alessandro Ferrucci
Cory Riddell | 18 Apr 2011 15:51
Favicon

Re: Thread name hex value

I don't believe you will get anything except hex.

The relevant code is in loggingevent.cpp:

> const LogString LoggingEvent::getCurrentThreadName() {
> #if APR_HAS_THREADS
> #if defined(_WIN32)
>    char result[20];
>    DWORD threadId = GetCurrentThreadId();
>    apr_snprintf(result, sizeof(result), LOG4CXX_WIN32_THREAD_FMTSPEC,
> threadId);
> #else
>    // apr_os_thread_t encoded in HEX takes needs as many characters
>    // as two times the size of the type, plus an additional null byte.
>    char result[sizeof(apr_os_thread_t) * 3 + 10];
>    apr_os_thread_t threadId = apr_os_thread_current();
>    apr_snprintf(result, sizeof(result), LOG4CXX_APR_THREAD_FMTSPEC,
> (void*) &threadId);
> #endif
>    LOG4CXX_DECODE_CHAR(str, (const char*) result);
>    return str;
> #else
>    return LOG4CXX_STR("0x00000000");
> #endif
> }

Cory

On 4/17/2011 10:19 AM, Alessandro Ferrucci wrote:
> bump.
>
> Just wondering if anyone knows the answer to this question or knows
> that in fact it is not possible to have it any other way.
>
> Thank you,
> Alessandro Ferrucci
>
> On Thu, Apr 14, 2011 at 10:19 AM, Alessandro Ferrucci
> <alessandroferrucci <at> gmail.com <mailto:alessandroferrucci <at> gmail.com>>
> wrote:
>
>     Hello,
>     I have the following log4cxx.properties file:
>
>     log4j.rootLogger = DEBUG, CONSOLE, FILE
>
>     log4j.appender.FILE=org.apache.log4j.FileAppender
>     log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
>     log4j.appender.FILE.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
>     log4j.appender.FILE.File=/home/ferru001/IslandAreas_Imaging/logs/log.txt
>
>     log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
>     log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
>     log4j.appender.CONSOLE.layout.ConversionPattern=%-5p %d [%t] %c: %m%n
>
>     I have a pthreads program and the thread IDs come out as
>
>     INFO  2011-04-14 10:07:39,217 [0x427a8940] TIFFReader: Initialize
>     inbound TCP socket
>     INFO  2011-04-14 10:07:39,217 [0x43baa940] TIFFReader: STARTED THREAD
>     INFO  2011-04-14 10:07:39,217 [0x431a9940] TIFFReader: STARTED
>     THREAD worker1
>     INFO  2011-04-14 10:07:39,218 [0x43baa940] TIFFReader: WAITING FOR
>     NEXT BATCH...
>
>     I start the threads as
>
>     if( (  returnVal = pthread_create(&t, NULL, register_function,
>     (void*)threadname.c_str() ))!=0)
>     {
>                 LOG4CXX_ERROR( logger, "pthread_create:Error
>     "<<returnVal<<"("<<errno<<")" );
>     }
>
>     Is there any way for the thread ID value in the log files to have
>     a more human readable value?
>
>     -- 
>     Signed,
>     Alessandro Ferrucci
>
>
>
>
> -- 
> Signed,
> Alessandro Ferrucci


Gmane