static char * ngx_http_groonga_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child) { ngx_http_groonga_loc_conf_t *prev = parent; ngx_http_groonga_loc_conf_t *conf = child; ngx_conf_merge_str_value(conf->database_path, prev->database_path, NULL); ngx_conf_merge_value(conf->database_auto_create, prev->database_auto_create, GRN_TRUE); ngx_conf_merge_size_value(conf->cache_limit, prev->cache_limit, GRN_CACHE_DEFAULT_MAX_N_ENTRIES); #ifdef NGX_HTTP_GROONGA_LOG_PATH ngx_conf_merge_str_value(conf->log_path, prev->log_path, NGX_HTTP_GROONGA_LOG_PATH); if (!conf->log_file && ngx_str_is_custom_path(&(conf->log_path)) && conf->enabled) { conf->log_file = ngx_conf_open_file(cf->cycle, &(conf->log_path)); if (!conf->log_file) { ngx_log_error(NGX_LOG_ERR, cf->cycle->log, 0, "http_groonga: " "failed to open the default Groonga log file: <%V>", &(conf->log_path)); return NGX_CONF_ERROR; } } #endif ngx_conf_merge_str_value(conf->query_log_path, prev->query_log_path, NGX_HTTP_GROONGA_QUERY_LOG_PATH); if (!conf->query_log_file && ngx_str_is_custom_path(&(conf->query_log_path)) && conf->enabled) { conf->query_log_file = ngx_conf_open_file(cf->cycle, &(conf->query_log_path)); if (!conf->query_log_file) { ngx_log_error(NGX_LOG_ERR, cf->cycle->log, 0, "http_groonga: " "failed to open the default Groonga query log file: <%V>", &(conf->query_log_path)); return NGX_CONF_ERROR; } } return NGX_CONF_OK; }
static char * ngx_http_groonga_conf_set_query_log_path_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) { char *status; ngx_http_groonga_loc_conf_t *groonga_location_conf = conf; status = ngx_conf_set_str_slot(cf, cmd, conf); if (status != NGX_CONF_OK) { return status; } if (!groonga_location_conf->query_log_path.data) { return NGX_CONF_OK; } if (!ngx_str_is_custom_path(&(groonga_location_conf->query_log_path))) { return NGX_CONF_OK; } groonga_location_conf->query_log_file = ngx_conf_open_file(cf->cycle, &(groonga_location_conf->query_log_path)); if (!groonga_location_conf->query_log_file) { ngx_log_error(NGX_LOG_ERR, cf->cycle->log, 0, "http_groonga: failed to open groonga query log file: <%V>", &(groonga_location_conf->query_log_path)); return NGX_CONF_ERROR; } return NGX_CONF_OK; }