void restart_logging (ice_config_t *config) { if (strcmp (config->error_log, "-")) { char fn_error[FILENAME_MAX]; snprintf (fn_error, FILENAME_MAX, "%s%s%s", config->log_dir, PATH_SEPARATOR, config->error_log); log_set_filename (errorlog, fn_error); log_set_level (errorlog, config->loglevel); log_set_trigger (errorlog, config->logsize); log_set_archive_timestamp(errorlog, config->logarchive); log_reopen (errorlog); } if (strcmp (config->access_log, "-")) { char fn_error[FILENAME_MAX]; snprintf (fn_error, FILENAME_MAX, "%s%s%s", config->log_dir, PATH_SEPARATOR, config->access_log); log_set_filename (accesslog, fn_error); log_set_trigger (accesslog, config->logsize); log_set_archive_timestamp (accesslog, config->logarchive); log_reopen (accesslog); } if (config->playlist_log) { char fn_error[FILENAME_MAX]; snprintf (fn_error, FILENAME_MAX, "%s%s%s", config->log_dir, PATH_SEPARATOR, config->playlist_log); log_set_filename (playlistlog, fn_error); log_set_trigger (playlistlog, config->logsize); log_set_archive_timestamp (playlistlog, config->logarchive); log_reopen (playlistlog); } }
int restart_logging (ice_config_t *config) { ice_config_t *current = config_get_config_unlocked(); mount_proxy *m; int ret = 0; config->error_log.logid = current->error_log.logid; config->access_log.logid = current->access_log.logid; config->playlist_log.logid = current->playlist_log.logid; if (recheck_log_file (config, &config->error_log.logid, config->error_log.name) < 0) ret = -1; else { log_set_trigger (config->error_log.logid, config->error_log.size); log_set_reopen_after (config->error_log.logid, config->error_log.duration); log_set_lines_kept (config->error_log.logid, config->error_log.display); log_set_archive_timestamp (config->error_log.logid, config->error_log.archive); log_set_level (config->error_log.logid, config->error_log.level); } thread_use_log_id (config->error_log.logid); errorlog = config->error_log.logid; /* value stays static so avoid taking the config lock */ if (recheck_log_file (config, &config->access_log.logid, config->access_log.name) < 0) ret = -1; else { log_set_trigger (config->access_log.logid, config->access_log.size); log_set_reopen_after (config->access_log.logid, config->access_log.duration); log_set_lines_kept (config->access_log.logid, config->access_log.display); log_set_archive_timestamp (config->access_log.logid, config->access_log.archive); log_set_level (config->access_log.logid, 4); } if (recheck_log_file (config, &config->playlist_log.logid, config->playlist_log.name) < 0) ret = -1; else { log_set_trigger (config->playlist_log.logid, config->playlist_log.size); log_set_reopen_after (config->playlist_log.logid, config->playlist_log.duration); log_set_lines_kept (config->playlist_log.logid, config->playlist_log.display); log_set_archive_timestamp (config->playlist_log.logid, config->playlist_log.archive); log_set_level (config->playlist_log.logid, 4); } playlistlog = config->playlist_log.logid; m = config->mounts; while (m) { if (recheck_log_file (config, &m->access_log.logid, m->access_log.name) < 0) ret = -1; else { log_set_trigger (m->access_log.logid, m->access_log.size); log_set_reopen_after (m->access_log.logid, m->access_log.duration); log_set_lines_kept (m->access_log.logid, m->access_log.display); log_set_archive_timestamp (m->access_log.logid, m->access_log.archive); log_set_level (m->access_log.logid, 4); } m = m->next; } return ret; }