You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by Sam Carleton <sc...@miltonstreet.com> on 2010/05/31 14:07:41 UTC
Where do printf's go when running under Apache?
I have only a few printf's in my service, which is running under Apache.
Where, if anywhere, does the printf go? I thought it went to the
apacheError.log, but I am not seeing it there.
Re: Where do printf's go when running under Apache?
Posted by Sam Carleton <sc...@miltonstreet.com>.
Samisa,
I did not see anything on the website about using 'logs', do you have a
function name for me to look up in the header files?
Sam
On Mon, May 31, 2010 at 8:39 AM, Samisa Abeysinghe <sa...@wso2.com> wrote:
> Use logs instead of printfs and it will go to Apache log.
>
> Samisa...
>
>
> On Mon, May 31, 2010 at 5:37 PM, Sam Carleton <sc...@miltonstreet.com>wrote:
>
>> I have only a few printf's in my service, which is running under Apache.
>> Where, if anywhere, does the printf go? I thought it went to the
>> apacheError.log, but I am not seeing it there.
>>
> Samisa ...
>
> http://samisa-abeysinghe.blogspot.com/
>
>
Re: Where do printf's go when running under Apache?
Posted by Samisa Abeysinghe <sa...@wso2.com>.
Use logs instead of printfs and it will go to Apache log.
Samisa...
On Mon, May 31, 2010 at 5:37 PM, Sam Carleton <sc...@miltonstreet.com>wrote:
> I have only a few printf's in my service, which is running under Apache.
> Where, if anywhere, does the printf go? I thought it went to the
> apacheError.log, but I am not seeing it there.
>
Samisa ...
http://samisa-abeysinghe.blogspot.com/
AW: Where do printf's go when running under Apache?
Posted by Stadelmann Josef <jo...@axa-winterthur.ch>.
1. It might depend on your OS Platform; what do you have?
2. If your process which runs your web-service is Apache, then under which user-account does Apache run? In other words – it depends how your Apache is implemented?
3. In my OpenVMS System Apache has it’s own account. And on yours? So my web-service printf() statements deliver output to apache$specific:[000000]APACHE$JAKARTA_SERVER_OUTPUT.LOG
4. AND Why should printf() go to the err output but not the out output?
5. Using LOG – I guess he means doing something like what follows …
Have this sub to do it for you
axutil_env_t *
axawl_create_env_with_error_log(axis2_char_t* stream_name) {
allocator = axutil_allocator_init(NULL);
if (!allocator) {
printf("\nallocator is NULL");
return NULL;
}
error = axutil_error_create(allocator);
if (!error) {
printf("\ncannot create error");
return NULL;
}
axis_log = axutil_log_create(allocator, NULL, stream_name);
if (!axis_log) {
printf("\ncannot create log %s", stream_name);
return NULL;
}
axis_log->level = AXIS2_LOG_LEVEL_INFO;
env = axutil_env_create_with_error_log(allocator, error, axis_log);
if (!env) {
printf("\ncannot create env with error and log %s", stream_name);
return NULL;
}
return env;
}
In your main code call
env = axawl_create_env_with_error_log(logfilename);
if (!env) {
printf("\n unable to create environment variable env");
exit(0);
}
/**
* The next 3 commands have a process wide character for logging
* you can send the logging to a file or prevent file logging
* and send it to standard output which is - hähä - logging to
* a file because this is a detached process. But logging to
* a standard output device such as sys$output would work when
* running this from its own main as an intercative process. (capito)
**/
log_level = getenv("AXIS2_LOG_LEVEL");
if (!log_level) {
printf("VMS Logical 'AXIS2_LOG_LEVEL' is not defined, using AXIS2_LOG_LEVEL_INFO");
//leave it as default is ---- INFO
} else {
if (strcmp(log_level,"AXIS2_LOG_LEVEL_CRITICAL") == 0)
env->log->level = AXIS2_LOG_LEVEL_CRITICAL;
if (strcmp(log_level,"AXIS2_LOG_LEVEL_ERROR") == 0)
env->log->level = AXIS2_LOG_LEVEL_ERROR;
if (strcmp(log_level,"AXIS2_LOG_LEVEL_WARNING") == 0)
env->log->level = AXIS2_LOG_LEVEL_WARNING;
if (strcmp(log_level,"AXIS2_LOG_LEVEL_INFO") == 0)
env->log->level = AXIS2_LOG_LEVEL_INFO;
if (strcmp(log_level,"AXIS2_LOG_LEVEL_DEBUG") == 0)
env->log->level = AXIS2_LOG_LEVEL_DEBUG;
if (strcmp(log_level,"AXIS2_LOG_LEVEL_TRACE") == 0)
env->log->level = AXIS2_LOG_LEVEL_TRACE;
}
log_enabled = getenv("AXIS2_LOG_ENABLED");
if (!log_enabled){
printf("VMS Logical 'AXIS2_LOG_ENABLED' is not defined, using AXIS2_LOG_ENABLED");
// leave it as is on ---- INFO and enabled
} else {
if (strcmp(log_enabled,"AXIS2_TRUE") == 0)
{
env->log->enabled = AXIS2_TRUE; // surpresses output to log file
env->log_enabled = AXIS2_TRUE; // surpreses creation of REP12.xml's
} else {
env->log->enabled = AXIS2_FALSE; // surpresses output to log file
env->log_enabled = AXIS2_FALSE; // surpreses creation of REP12.xml's
}
}
Then use can use things like that
AXIS2_LOG_INFO (env->log, "\n 1. Spg-Legacy %s %d", "login() starts here -------", 1);
AXIS2_LOG_DEBUG (env->log, AXIS2_LOG_SI, "\n uri %s \n prefix %s", uri, prefix);
AXIS2_LOG_DEBUG (env->log, AXIS2_LOG_SI, "\n %s %d", "axawl_deserialize_input_payload() .... ", 2);
if (!xml_reader) {
AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "\n %s", axutil_error_get_message(env->error));
Hope this helps
Josef.Stadelmann
@axa-winterthur.ch
Von: scarleton@gmail.com [mailto:scarleton@gmail.com] Im Auftrag von Sam Carleton
Gesendet: Montag, 31. Mai 2010 14:08
An: Apache AXIS C User List
Betreff: Where do printf's go when running under Apache?
I have only a few printf's in my service, which is running under Apache. Where, if anywhere, does the printf go? I thought it went to the apacheError.log, but I am not seeing it there.