Debug log print and conf

Myoungho nginx-forum at
Thu Jul 13 07:37:29 UTC 2017

Hello, Im newbie in nginx module developing and now studying how nginx
module works using 'hello_world' module.

I have two questions.

My nginx.conf is; 

        location ~ ^/test1/.*$ {
           error_log /usr/local/nginx/logs/error-helloworld.log debug;
           hello entry1;
       location ~ ^/test2/.*$ {
           error_log /usr/local/nginx/logs/error-helloworld.log debug;
           hello  entry2;

1. Where can I see my logs printed by ngx_log_debug*?
   I added following line in handler function.
   ngx_log_debug0(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, "hello
   but there is no result in nginx error log nor my_module_error_log.
   and when I use ngx_log_debug1 () function like as follows, there is no
HTTP response. 
   ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, "hello
world[%s]", r->;
   ( in confiure, I used --with-debug )

2. How can I get 'entry1' or 'entry2' string in my handler?
my command arrary are here;
static ngx_command_t ngx_http_hello_commands[] = {
{ ngx_string("hello"),
offsetof(ngx_http_hello_loc_conf_t, name),
&ngx_http_hello_p },

static char *
ngx_http_helloworld(ngx_conf_t *cf, void *post, void *data)
	ngx_http_core_loc_conf_t *clcf;
	clcf = ngx_http_conf_get_module_loc_conf(cf, ngx_http_core_module);
	clcf->handler = ngx_http_hello_handler;
	ngx_str_t *name = data; // i.e., first field of ngx_http_hello_loc_conf_t

	if (ngx_strcmp(name->data, "") == 0) {
		return NGX_CONF_ERROR;
	} = name->data; // --> It's always 'entry2'
	hello_string.len = ngx_strlen(;
	return NGX_CONF_OK;

whenever I request "http://~~/test/" or "http://~~/test2/"  the hello_string
is always 'entry2'.

Thanks for any helps. 


Posted at Nginx Forum:,275465,275465#msg-275465

More information about the nginx mailing list