axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Damitha Kumarage (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2C-734) Enabling Service Level Custom Logs
Date Wed, 07 Nov 2007 11:23:51 GMT

    [ https://issues.apache.org/jira/browse/AXIS2C-734?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12540720
] 

Damitha Kumarage commented on AXIS2C-734:
-----------------------------------------

After discussions in the mailing list changed AXIS2_LOG_LEVEL_SERVICE to AXIS2_LOG_LEVEL_USER.
Also implemented this feature for apache2 module and simple tcp server. Tested OK

> Enabling Service Level Custom Logs
> ----------------------------------
>
>                 Key: AXIS2C-734
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-734
>             Project: Axis2-C
>          Issue Type: New Feature
>            Reporter: Damitha Kumarage
>
> A service developer may be interested only in the debug messages he put in his service.
He don't need all the debug messages from within the core/transport of the axis2c engine.
Currently what happen is when the axis2c engine is started
> with log enabled all the log messages core/transport are printed to the log file so that
service developers log messages are obscured.
> To avoid that I propose another log level called AXIS2_LOG_LEVEL_SERVICE.
> When the axis2c engine is started with this log level only the critical and error logs
are printed from the core/ trasport.
> All the log messages written by the service developer with the logging function AXIS2_LOG_SERVICE(
) are also be printed.
> Also If we start the axis2c engine with the log level debug, the messages written using
AXIS2_LOG_SERVICE( ) are printed. If we start the axis2c engine with the log level critical
or error only the error/critical log messages are printed.
> The function that I have added to the log.c to implement this is 
> AXIS2_EXTERN void AXIS2_CALL
> axutil_log_impl_log_service(
>     axutil_log_t * log,
>     const axis2_char_t * filename,
>     const int linenumber,
>     const axis2_char_t * format,
>     ...)
> {
>     FILE *fd = NULL;
>     axutil_thread_mutex_t *mutex = NULL;
>     if (log && format)
>     {
>         if (!(fd = AXIS2_INTF_TO_IMPL(log)->stream))
>         {
>             fprintf(stderr, "Stream is not found\n");
>         }
>         if (!(mutex = AXIS2_INTF_TO_IMPL(log)->mutex))
>         {
>             fprintf(stderr, "Log mutex is not found\n");
>         }
>         if (AXIS2_LOG_LEVEL_DEBUG <= log->level)
>         {
>             char value[AXIS2_LEN_VALUE + 1];
>             va_list ap;
>             va_start(ap, format);
>             AXIS2_VSNPRINTF(value, AXIS2_LEN_VALUE, format, ap);
>             va_end(ap);
>             axutil_log_impl_write_to_file(log, mutex, AXIS2_LOG_LEVEL_DEBUG,
>                 filename, linenumber, value);
>         }
>     }
>     else
>         fprintf(stderr, "please check your log and buffer");
> }
> Also in the other log functions I have changed this line
> if (AXIS2_LOG_LEVEL_DEBUG <= log->level)
> to
> if (AXIS2_LOG_LEVEL_DEBUG <= log->level &&
>             log->level != AXIS2_LOG_LEVEL_SERVICE)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org


Mime
View raw message