I have a need to use axis within an existing system that has it's own ways of opening/closing/rotating logs and I've found the existing axis log interfaces to be a bit lacking. I have some patches, but before I submit a issue in jira I wanted to run the changes past some people to see if what I'm doing makes sense.
There are two issues that I'm fixing: 1) the log functions don't keep track of whether the filedescriptor was opened by axis, so if you create a env using axutil_env_create() it ends up closing stderr when you try to set a new log file. 2) There's no way to tell axis to log to a filedescriptor rather than to a named file. I added two functions to axutil_log_default.h: One to create a axutil_log_t using an existing FILE * as returned from fopen: AXIS2_EXTERN axutil_log_t *AXIS2_CALL axutil_log_create_fp( axutil_allocator_t *allocator, axutil_log_ops_t *ops, void *stream, int close_stream); I also factored out a static axutil_log_create_common() function, which is used by both axutil_log_create_fp() and the original axutil_log_create(). And, one to switch the FILE pointer on an existing log structure: AXIS2_EXTERN void AXIS2_CALL axutil_log_set_stream( axutil_allocator_t *allocator, axutil_log_t *log, void *stream, int close_stream); In both of these, the close_stream flag indicates whether axis is allowed to close the stream when a new one is set or when the log structure is cleaned up. That is stored in a new field in the axutil_log_impl structure. Does this seem reasonable? Should I send the full patch to the list? eric (btw, I created a couple of other jira issues (AXIS2C-1271, AXIS2C-1280) w/ patches attached. About how long can I expect before they are applied?) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]