Yes..correct; should set the __FILE__ and __LINE__ macros to AXIS2_LOG_WRITE macro

in axis2_log.h
#define AXIS2_LOG_WRITE(log, buffer, level) ((log)->ops->write(log, buffer, level,__FILE__,__LINE__))

in log.c

axis2_status_t AXIS2_CALL
axis2_log_impl_write (struct axis2_log *log, const axis2_char_t *buffer, axis2_log_levels_t level,char *fn,int ln)
{
   ...
   fprintf(stderr,"%s%s(%d) %s\n", level_str,fn,ln,buffer);
}

- Nabeel


Samisa Abeysinghe wrote:

Nabeel wrote:

The following change to log.c:axis2_log_impl_write() fn would log the line number and file name along with the error msg

/*fprintf (stderr, "%s", level_str);*/
/*fprintf (stderr, "%s\n", buffer);*/
  fprintf(stderr,"%s%s(%d) %s\n", level_str,__FILE__,__LINE__,buffer);


I am afraid not. Then it will laways log the line number of loc.c file :(
e.g.
[info] log.c(96) axis2_handler_t *addressing_based_dispatcher added to the index 0 of the phase Dispatch [info] log.c(96) axis2_handler_t *request_uri_based_dispatcher added to the index 1 of the phase Dispatch [info] log.c(96) axis2_handler_t *soap_action_based_dispatcher added to the index 2 of the phase Dispatch [info] log.c(96) axis2_handler_t *soap_message_body_based_dispatcher added to the index 3 of the phase Dispatch [info] log.c(96) axis2_handler_t *dispatch_post_conditions_evaluator added to the index 0 of the phase PostDispatch [info] log.c(96) axis2_handler_t *context_handler added to the index 1 of the phase PostDispatch

You have to use __FILE__ and __LINE__ from the respective source file and pass that to log.c

Samisa...


- Nabeel

Samisa Abeysinghe wrote:

Hi All,
It is useful to have file name and number info in some log messages. As an example, debug level log messages must have this to help find where it went wrong. I get the following debug messages from simple axis server when testing and I have no clue on where they came from:
[debug] AXIS2_XML_READER_START_ELEMENT
[debug] identified soap version is soap12
[debug] AXIS2_XML_READER_SPACE
[debug] AXIS2_XML_READER_START_ELEMENT
[debug] AXIS2_XML_READER_SPACE
[debug] AXIS2_XML_READER_END_ELEMENT
[debug] AXIS2_XML_READER_SPACE
[debug] AXIS2_XML_READER_END_ELEMENT

Also, just poping up the error code in the log makes no sense. We need more details, human readable and understandable message into the log.

   Please help fix this.
Thanks,
Samisa...






Reply via email to