Nilorea Library
C utilities for networking, threading, graphics
Loading...
Searching...
No Matches
LOGGING: logging to console, to file, to syslog, to event log

Data Structures

struct  TS_LOG
 ThreadSafe LOGging structure. More...

Macros

#define LOG_ALERT   1
 action must be taken immediately
#define LOG_CRIT   2
 critical conditions
#define LOG_DEBUG   7
 debug-level messages
#define LOG_EMERG   0
 system is unusable
#define LOG_ERR   3
 error conditions
#define LOG_FILE   -3
 internal, logging to file
#define LOG_INFO   6
 informational
#define LOG_NOTICE   5
 normal but significant condition
#define LOG_NULL   -1
 no log output
#define LOG_STDERR   -4
 internal, default LOG_TYPE
#define LOG_SYSJRNL   100
 to sysjrnl
#define LOG_WARNING   4
 warning conditions
#define n_log(__LEVEL__, ...)
 Logging function wrapper to get line and func.
#define N_PRINTF_FORMAT(fmt, args)
 declare a function printf-like; nothing on a compiler without attributes

Functions

void _n_log (int level, const char *file, const char *func, int line, const char *format,...)
 Full log function.
int close_safe_logging (TS_LOG *log)
 close a thread-safe logging file
void close_sysjrnl (void)
 close syslog / free name for event log
FILE * get_log_file (void)
 get the log file name if any
int get_log_level (void)
 Return the global log level.
int open_safe_logging (TS_LOG **log, char *pathname, char *opt)
 Open a thread-safe logging file.
char * open_sysjrnl (const char *identity)
 Open a syslog / set name for event log.
int set_log_file (char *file)
 set a file as standard log output
int set_log_file_fd (FILE *fd)
 set an already open stream (stdout, stderr, a caller's FILE) as standard log output, never closed by the library
void set_log_level (const int log_level)
 Set global log level.
int write_safe_log (TS_LOG *log, char *pat,...)
 write to a thread-safe logging file

Detailed Description


Data Structure Documentation

◆ TS_LOG

struct TS_LOG

ThreadSafe LOGging structure.

Examples
ex_log.c.

Definition at line 119 of file n_log.h.

Collaboration diagram for TS_LOG:
Data Fields
FILE * file File handler.
pthread_mutex_t LOG_MUTEX mutex for thread-safe writting

Macro Definition Documentation

◆ LOG_ALERT

#define LOG_ALERT   1

action must be taken immediately

Examples
ex_log.c.

Definition at line 96 of file n_log.h.

Referenced by _n_log(), and main().

◆ LOG_CRIT

#define LOG_CRIT   2

critical conditions

Examples
ex_log.c.

Definition at line 98 of file n_log.h.

Referenced by _n_log(), and main().

◆ LOG_DEBUG

#define LOG_DEBUG   7

debug-level messages

Examples
ex_accept_pool_client.c, ex_accept_pool_server.c, ex_allegro_4.c, ex_base64.c, ex_clock_sync.c, ex_common.c, ex_configfile.c, ex_cookies.c, ex_crypto.c, ex_diff.c, ex_digest.c, ex_dns.c, ex_exceptions.c, ex_file.c, ex_fluid.c, ex_git.c, ex_gui.c, ex_gui_bench.c, ex_gui_custom.c, ex_gui_datagrid.c, ex_gui_detach.c, ex_gui_dictionary.c, ex_gui_dropmenu.c, ex_gui_hexview.c, ex_gui_hover.c, ex_gui_kvtable.c, ex_gui_label_fits.c, ex_gui_multiwin.c, ex_gui_network.c, ex_gui_particles.c, ex_gui_placeholder.c, ex_gui_progressbar.c, ex_gui_reentrant.c, ex_gui_sectionlist.c, ex_gui_splitpane.c, ex_gui_syntaxview.c, ex_gui_tooltip.c, ex_gui_window_rect.c, ex_gui_zorder.c, ex_hash.c, ex_hex.c, ex_html.c, ex_http2.c, ex_http2_server.c, ex_json.c, ex_kafka.c, ex_list.c, ex_log.c, ex_monolith.c, ex_network.c, ex_network.h, ex_network_alpn.c, ex_network_mock.c, ex_network_proxy.c, ex_network_reactor.c, ex_network_sni.c, ex_network_sse.c, ex_network_ssl.c, ex_network_ssl_hardened.c, ex_network_ssl_nonblock.c, ex_network_ws.c, ex_nstr.c, ex_pcre.c, ex_pretty.c, ex_random.c, ex_signals.c, ex_stack.c, ex_threads.c, ex_trees.c, ex_url.c, ex_x509.c, and ex_zlib.c.

Definition at line 108 of file n_log.h.

Referenced by _a4_midi_init(), _ht_get_node_trie(), _n_log(), _n_module_set_error(), _npcre_print_error(), add_threaded_process(), client_worker_echo(), dump_nodup_log(), file_to_nstr(), get_config_section_value(), get_net_datas(), handle_request(), init_nodup_log(), inlined_func(), load_config_file(), main(), main(), main(), n_clock_sync_process_response(), n_clock_sync_seed(), n_disk_cache_expire(), n_disk_cache_prune(), n_disk_cache_prune_group(), n_disk_cache_put(), n_gui_load_layout_json(), n_gui_maximize_window(), n_gui_window_attach(), n_gui_window_detach(), n_kafka_delete(), n_kafka_delivery_message_callback(), n_kafka_dump_unprocessed(), n_kafka_load_config(), n_kafka_move_file_to_sended(), n_kafka_poll(), n_kafka_polling_thread(), n_kafka_produce(), n_kafka_produce_ex(), n_kafka_start_polling_thread(), n_kafka_stop_polling_thread(), n_proxy_connect_socks5(), n_proxy_connect_tunnel(), n_proxy_connect_tunnel_ssl(), n_sse_connect(), n_vigenere_decode_qa(), n_ws_connect(), netw_accept_from_ex(), netw_adopt_client_fd(), netw_bind_udp(), netw_build_http_response(), netw_close(), netw_connect_ex_to(), netw_connect_udp(), netw_pool_add(), netw_pool_netw_close(), netw_pool_remove(), netw_recv_func(), netw_send_func(), netw_set_blocking(), netw_ssl_do_handshake(), netw_ssl_print_errors(), netw_ssl_set_ciphers(), netw_stop_thr_engine(), netw_wait_msg(), npcre_match_capture(), nstr_to_file(), occupy_thread(), PAUSE(), pick_cb(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), recv_data(), recv_data_once(), recv_ssl_data(), recv_ssl_data_once(), recv_udp_data(), refresh_thread_pool(), run_server(), send_data(), send_data_once(), send_net_datas(), send_ssl_data(), send_ssl_data_once(), send_udp_data(), set_color_depth(), sigchld_handler(), srv_handle_frame(), str_to_long_ex(), str_to_long_long_ex(), strcpy_u(), thread_pool_processing_function(), unzip4_nstr(), unzip_nstr(), zip4_nstr(), and zip_nstr().

◆ LOG_EMERG

#define LOG_EMERG   0

system is unusable

Examples
ex_log.c.

Definition at line 94 of file n_log.h.

Referenced by _n_log(), and main().

◆ LOG_ERR

#define LOG_ERR   3

error conditions

Examples
ex_accept_pool_client.c, ex_accept_pool_server.c, ex_allegro_4.c, ex_atlas.c, ex_clock_sync.c, ex_common.c, ex_configfile.c, ex_cookies.c, ex_crypto.c, ex_diff.c, ex_digest.c, ex_disk_cache.c, ex_dns.c, ex_ecc.c, ex_entropy.c, ex_file.c, ex_file_copy.c, ex_fluid.c, ex_fluid_config.c, ex_git.c, ex_gui.c, ex_gui_bench.c, ex_gui_button_keys.c, ex_gui_checkbox_label.c, ex_gui_color_picker.c, ex_gui_colorwheel.c, ex_gui_combobox_items.c, ex_gui_combobox_wheel.c, ex_gui_cursor.c, ex_gui_curve.c, ex_gui_custom.c, ex_gui_custom_mouse.c, ex_gui_datagrid.c, ex_gui_datagrid_keys.c, ex_gui_datagrid_sort.c, ex_gui_detach.c, ex_gui_dictionary.c, ex_gui_display_fallback.c, ex_gui_double_click.c, ex_gui_dropmenu.c, ex_gui_frameless_drag.c, ex_gui_global_scroll.c, ex_gui_glyph.c, ex_gui_grid.c, ex_gui_hexview.c, ex_gui_hover.c, ex_gui_isometric.c, ex_gui_kvtable.c, ex_gui_label_fits.c, ex_gui_label_lines.c, ex_gui_layout_persist.c, ex_gui_listbox.c, ex_gui_md.c, ex_gui_multiwin.c, ex_gui_network.c, ex_gui_particles.c, ex_gui_placeholder.c, ex_gui_popup.c, ex_gui_progressbar.c, ex_gui_reentrant.c, ex_gui_round.c, ex_gui_sectionlist.c, ex_gui_slider_default.c, ex_gui_slider_handle.c, ex_gui_slider_step.c, ex_gui_splitpane.c, ex_gui_suggest.c, ex_gui_syntaxview.c, ex_gui_text_shorten.c, ex_gui_textarea_selection.c, ex_gui_tooltip.c, ex_gui_tree_lazy.c, ex_gui_tree_order.c, ex_gui_tree_state.c, ex_gui_window_rect.c, ex_gui_zorder.c, ex_hash.c, ex_hex.c, ex_html.c, ex_http2.c, ex_http2_server.c, ex_http_req.c, ex_json.c, ex_kafka.c, ex_list.c, ex_log.c, ex_markdown.c, ex_module.c, ex_network.c, ex_network.h, ex_network_alpn.c, ex_network_connect_abort.c, ex_network_mock.c, ex_network_proxy.c, ex_network_reactor.c, ex_network_sni.c, ex_network_sse.c, ex_network_ssl.c, ex_network_ssl_hardened.c, ex_network_ssl_hostname.c, ex_network_ssl_nonblock.c, ex_network_ws.c, ex_network_ws_limits.c, ex_nstr.c, ex_parallel_for.c, ex_pcre.c, ex_pretty.c, ex_pth.c, ex_query.c, ex_random.c, ex_sha256.c, ex_spawn.c, ex_ssrf.c, ex_stack.c, ex_threads.c, ex_tiff.c, ex_trajectory.c, ex_trees.c, ex_url.c, ex_url_safe.c, ex_wrap.c, ex_x509.c, ex_zip.c, and ex_zlib.c.

Definition at line 100 of file n_log.h.

Referenced by _destroy_ht(), _destroy_ht_trie(), _from_jpeg(), _from_png(), _give(), _ht_check_trie_divergence(), _ht_get_double(), _ht_get_double_trie(), _ht_get_int(), _ht_get_int_trie(), _ht_get_ptr(), _ht_get_ptr_trie(), _ht_get_string(), _ht_get_string_trie(), _ht_is_leaf_node_trie(), _ht_new_double_node(), _ht_new_int_node(), _ht_new_node(), _ht_new_node_trie(), _ht_new_ptr_node(), _ht_new_string_node(), _ht_new_string_ptr_node(), _ht_put_double(), _ht_put_double_trie(), _ht_put_int(), _ht_put_int_trie(), _ht_put_ptr(), _ht_put_ptr_trie(), _ht_put_string(), _ht_put_string_ptr(), _ht_put_string_ptr_trie(), _ht_put_string_trie(), _ht_remove(), _ht_remove_trie(), _myers(), _n_git_log_error(), _n_log(), _n_nodup_log(), _n_nodup_log_indexed(), _netw_ssl_handshake_step(), _popup_append(), _proxy_tcp_connect(), _tiff_file(), action_on_sig(), add_bmp_to_lib(), add_threaded_process(), approx(), avro_decode_bytes_raw(), avro_decode_container(), avro_decode_datum(), avro_decode_long(), avro_encode_container(), avro_encode_datum(), avro_file_to_json(), avro_json_to_file(), avro_nstr_avro_to_json(), avro_nstr_json_to_avro(), char_to_nstr_ex(), check_exclusive(), check_refused(), collect(), CompressData(), create_anim_library(), create_msg(), create_node(), create_octree(), create_octree_node(), create_quadtree(), delete_msg(), deplete_send_buffer(), destroy_threaded_pool(), dispatch_to_pool(), dump_nodup_log(), expect(), expect(), expect_canon(), expect_close(), expect_close(), expect_close(), expect_close(), expect_contains(), expect_contains(), expect_encode(), expect_eq(), expect_eq_float(), expect_eq_int(), expect_eqf(), expect_hex(), expect_link_absent(), expect_link_present(), expect_missing(), expect_near(), expect_near(), expect_order(), expect_parse_error(), expect_resolve(), expect_size(), expect_streq(), expect_text(), expect_text(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_unified(), file_to_nstr(), get_computer_name(), get_config_section_value(), get_net_datas(), get_nstr_from_msg(), get_str_from_msg(), handle_request(), handle_stays_inside(), ht_duplicate(), ht_get_completion_list(), ht_get_optimal_size(), ht_get_ptr_ex(), ht_get_table_collision_percentage(), ht_optimize(), ht_put_ptr_ex(), ht_remove_ex(), ht_resize(), init_game_env(), init_nodup_log(), init_particle_system(), insert(), iso_map_draw(), iso_map_load(), iso_map_save(), join(), lexLoadMenuFromFile(), list_destroy(), list_empty(), list_empty_with_f(), list_node_pop(), list_node_push(), list_node_shift(), list_node_unshift(), list_pop_f(), list_push(), list_push_sorted(), list_shift_f(), list_unshift(), list_unshift_sorted(), load_app_state(), load_bitmap(), load_config_file(), load_game_config(), load_midi(), load_sample(), load_ttf_font(), main(), main(), main(), make_msg_from_str(), make_str_from_msg(), manage_client(), n_aead_aes256gcm_decrypt(), n_aead_aes256gcm_encrypt(), n_aead_chacha20poly1305_decrypt(), n_aead_chacha20poly1305_encrypt(), n_atlas_set_page(), n_base64_decode(), n_base64_decode_len(), n_base64_encode(), n_clock_sync_process_response(), n_daemonize_ex(), n_digest_blake2b512(), n_digest_oneshot(), n_disk_cache_open(), n_ed25519_keypair(), n_ed25519_sign(), n_ed25519_verify(), n_file_copy_verified(), n_file_read_bounded(), n_file_write_atomic(), n_get_cpu_id(), n_get_current_dir_hd_serial(), n_git_create_branch(), n_git_init_ex(), n_git_open(), n_git_pull(), n_git_push(), n_gui_add_window(), n_gui_color_picker_new(), n_gui_curve_new(), n_gui_dropmenu_add_dynamic_entry(), n_gui_dropmenu_set_open(), n_gui_eyedropper_cursor(), n_gui_grid_new(), n_gui_new_ctx(), n_gui_sectionlist_add_widget(), n_gui_set_focus(), n_gui_set_virtual_size(), n_gui_window_attach(), n_gui_window_detach(), n_gui_window_set_autofit(), n_gui_window_set_native_icons(), n_gui_window_set_zorder(), n_hex_decode(), n_hex_decode_to(), n_hex_encode(), n_hex_encode_to(), n_hmac_oneshot(), n_html_to_text(), n_http2_server_new(), n_kafka_add_header_ex(), n_kafka_delivery_message_callback(), n_kafka_dump_unprocessed(), n_kafka_load_config(), n_kafka_mkdir_p(), n_kafka_move_file_to_sended(), n_kafka_new(), n_kafka_new_headers(), n_kafka_poll(), n_kafka_polling_thread(), n_kafka_produce_ex(), n_kafka_set_error_timeout(), n_kafka_start_polling_thread(), n_kafka_stop_polling_thread(), n_kdf_hkdf_sha256(), n_kdf_scrypt(), n_mock_server_start(), n_open_with_default(), n_pbkdf2_oneshot(), n_popen(), n_pretty_json(), n_proxy_cfg_parse(), n_proxy_connect_socks5(), n_proxy_connect_tunnel(), n_proxy_connect_tunnel_ssl(), n_pth_load(), n_random_bytes(), n_random_from_urandom(), n_scan_dir(), n_spawn_detached(), n_spawn_wait_cancel(), n_sse_connect(), n_vigenere_cypher(), n_vigenere_decode_file(), n_vigenere_decode_file_qa(), n_vigenere_decode_qa(), n_vigenere_encode_file(), n_vigenere_encode_file_qa(), n_vigenere_encode_qa(), n_vigenere_get_answer(), n_vigenere_get_question(), n_vigenere_get_rootkey(), n_ws_connect(), n_ws_recv(), n_ws_send(), n_x25519_derive(), n_x25519_keypair(), n_x509_generate_ca(), n_x509_keypair_pem(), n_x509_mint_host_cert(), n_zip_read(), netw_accept_from_ex(), netw_accept_pool_create(), netw_accept_pool_start(), netw_accept_pool_thread_func(), netw_add_msg(), netw_adopt_client_fd(), netw_bind_udp(), netw_close(), netw_connect_check(), netw_connect_ex_to(), netw_connect_nonblock(), netw_connect_udp(), netw_extract_http_info(), netw_get_http_date(), netw_get_ident(), netw_get_ping(), netw_get_position(), netw_get_state(), netw_get_string(), netw_make_listening(), netw_msg_get_type(), netw_new(), netw_pool_add(), netw_pool_remove(), netw_recv_func(), netw_send_func(), netw_set_blocking(), netw_set_compression_mode(), netw_set_crypto(), netw_set_crypto_chain(), netw_set_crypto_chain_pem(), netw_set_crypto_pem(), netw_setsockopt(), netw_ssl_do_handshake(), netw_ssl_handshake_once(), netw_ssl_print_errors(), netw_ssl_server_handshake_once(), netw_ssl_set_alpn(), netw_ssl_set_ca(), netw_ssl_set_ciphers(), netw_ssl_set_client_cert(), netw_ssl_set_verify(), netw_ssl_set_versions(), netw_start_thr_engine(), netw_stop_thr_engine(), netw_udp_recvfrom(), netw_udp_sendto(), netw_urldecode(), netw_wait_msg(), new_ht(), new_ht_trie(), new_list_node(), new_nstr(), new_stack(), new_thread_pool(), new_tree(), nfgets(), npcre_match(), npcre_match_capture(), npcre_new(), npcre_replace(), nstr_to_fd(), nstr_to_file(), nstrcat_bytes_ex(), nstrcat_ex(), nstrdup(), nstrprintf_cat_ex(), nstrprintf_ex(), on_load_layout(), on_save_layout(), on_save_layout_click(), on_toggle_detach(), open_safe_logging(), PAUSE(), pk_run(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), push_exception(), recv_data(), recv_data_once(), recv_php(), recv_ssl_data(), recv_ssl_data_once(), recv_udp_data(), refresh_thread_pool(), remove_list_node_f(), run(), run_client(), run_client(), run_server(), run_server(), scan_dir_ex(), send_data(), send_data_once(), send_net_datas(), send_php(), send_ssl_data(), send_ssl_data_once(), send_udp_data(), server_fn(), set_log_file(), set_socket_timeout(), sigchld_handler_installer(), ssl_harden_context(), start_threaded_pool(), str_replace(), str_to_int_ex(), str_to_int_nolog(), str_to_long_ex(), str_to_long_long_ex(), system_nb(), tensor_read(), test_atomic_file(), test_bounded(), test_build_response(), test_bytes(), test_decode_errors(), test_decode_roundtrip(), test_enctype(), test_errors(), test_errors(), test_forms(), test_frame_codec(), test_hmac(), test_js_urls(), test_links(), test_parse(), test_replace(), test_scripts(), test_sha256_hex(), test_sitemap(), test_to_text(), test_token(), thread_pool_processing_function(), trajectory_add_point(), trajectory_new(), trajectory_set_end(), trajectory_update(), tree_create_node(), tree_insert_child(), UncompressData(), unzip4_nstr(), unzip_nstr(), userlist_del_user(), userlist_set_position_behavior(), validate_path(), wait_for_synced_threaded_pool(), wait_for_threaded_pool(), write_and_fit_ex(), write_config_file(), zip4_nstr(), zip_nstr(), zip_scan(), and zip_unpack().

◆ LOG_FILE

#define LOG_FILE   -3

internal, logging to file

Definition at line 72 of file n_log.h.

Referenced by set_log_file(), set_log_file_fd(), and set_log_level().

◆ LOG_INFO

#define LOG_INFO   6

informational

Examples
ex_accept_pool_client.c, ex_accept_pool_server.c, ex_allegro_4.c, ex_atlas.c, ex_base64.c, ex_clock_sync.c, ex_common.c, ex_configfile.c, ex_cookies.c, ex_crypto.c, ex_diff.c, ex_digest.c, ex_disk_cache.c, ex_dns.c, ex_exceptions.c, ex_file.c, ex_fluid.c, ex_fluid_config.c, ex_git.c, ex_gui.c, ex_gui_bench.c, ex_gui_button_keys.c, ex_gui_checkbox_label.c, ex_gui_color_picker.c, ex_gui_colorwheel.c, ex_gui_combobox_items.c, ex_gui_combobox_wheel.c, ex_gui_cursor.c, ex_gui_curve.c, ex_gui_custom.c, ex_gui_custom_mouse.c, ex_gui_datagrid.c, ex_gui_datagrid_keys.c, ex_gui_datagrid_sort.c, ex_gui_detach.c, ex_gui_dictionary.c, ex_gui_display_fallback.c, ex_gui_double_click.c, ex_gui_dropmenu.c, ex_gui_frameless_drag.c, ex_gui_global_scroll.c, ex_gui_grid.c, ex_gui_hexview.c, ex_gui_hover.c, ex_gui_isometric.c, ex_gui_kvtable.c, ex_gui_label_fits.c, ex_gui_label_lines.c, ex_gui_multiwin.c, ex_gui_network.c, ex_gui_particles.c, ex_gui_placeholder.c, ex_gui_popup.c, ex_gui_progressbar.c, ex_gui_reentrant.c, ex_gui_round.c, ex_gui_sectionlist.c, ex_gui_slider_default.c, ex_gui_slider_handle.c, ex_gui_slider_step.c, ex_gui_splitpane.c, ex_gui_suggest.c, ex_gui_syntaxview.c, ex_gui_text_shorten.c, ex_gui_textarea_selection.c, ex_gui_tooltip.c, ex_gui_tree_lazy.c, ex_gui_window_rect.c, ex_gui_zorder.c, ex_hash.c, ex_hex.c, ex_html.c, ex_http2.c, ex_http2_server.c, ex_json.c, ex_kafka.c, ex_list.c, ex_log.c, ex_module.c, ex_network.c, ex_network_alpn.c, ex_network_connect_abort.c, ex_network_mock.c, ex_network_proxy.c, ex_network_reactor.c, ex_network_sni.c, ex_network_sse.c, ex_network_ssl.c, ex_network_ssl_hardened.c, ex_network_ssl_hostname.c, ex_network_ssl_nonblock.c, ex_network_ws.c, ex_network_ws_limits.c, ex_nstr.c, ex_pcre.c, ex_pretty.c, ex_pth.c, ex_query.c, ex_random.c, ex_sha256.c, ex_stack.c, ex_threads.c, ex_trees.c, ex_url.c, ex_x509.c, ex_zip.c, and ex_zlib.c.

Definition at line 106 of file n_log.h.

Referenced by _n_log(), avro_file_to_json(), avro_json_to_file(), check_exclusive(), check_refused(), expect_canon(), expect_close(), expect_eq_float(), expect_eq_int(), expect_eqf(), expect_link_present(), expect_near(), expect_near(), expect_resolve(), expect_text(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), handle_request(), iso_generate_transition_masks(), iso_generate_transition_tiles(), load_app_state(), main(), main(), main(), n_git_create_branch(), n_git_fetch(), n_git_pull(), n_git_push(), n_kafka_delivery_message_callback(), n_kafka_poll(), n_mock_server_run(), n_mock_server_start(), n_reactor_new(), n_sse_connect(), n_ws_connect(), netw_connect(), netw_connect_check(), netw_connect_ex_to(), netw_connect_to(), netw_connect_udp(), netw_ssl_connect(), on_request(), on_slider_change(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), run_server(), and ssl_harden_context().

◆ LOG_NOTICE

#define LOG_NOTICE   5

normal but significant condition

Examples
ex_accept_pool_client.c, ex_accept_pool_server.c, ex_allegro_4.c, ex_base64.c, ex_clock_sync.c, ex_common.c, ex_cookies.c, ex_crypto.c, ex_diff.c, ex_digest.c, ex_dns.c, ex_ecc.c, ex_entropy.c, ex_exceptions.c, ex_file.c, ex_file_copy.c, ex_fluid.c, ex_git.c, ex_gui.c, ex_gui_bench.c, ex_gui_button_keys.c, ex_gui_checkbox_label.c, ex_gui_combobox_wheel.c, ex_gui_cursor.c, ex_gui_custom.c, ex_gui_datagrid.c, ex_gui_datagrid_keys.c, ex_gui_datagrid_sort.c, ex_gui_detach.c, ex_gui_dictionary.c, ex_gui_double_click.c, ex_gui_dropmenu.c, ex_gui_frameless_drag.c, ex_gui_glyph.c, ex_gui_hexview.c, ex_gui_hover.c, ex_gui_kvtable.c, ex_gui_label_fits.c, ex_gui_listbox.c, ex_gui_md.c, ex_gui_multiwin.c, ex_gui_network.c, ex_gui_particles.c, ex_gui_placeholder.c, ex_gui_progressbar.c, ex_gui_reentrant.c, ex_gui_sectionlist.c, ex_gui_slider_default.c, ex_gui_slider_handle.c, ex_gui_slider_step.c, ex_gui_splitpane.c, ex_gui_suggest.c, ex_gui_syntaxview.c, ex_gui_tooltip.c, ex_gui_tree_state.c, ex_gui_window_rect.c, ex_gui_zorder.c, ex_hex.c, ex_html.c, ex_http2.c, ex_http2_server.c, ex_http_req.c, ex_iso_astar.c, ex_json.c, ex_kafka.c, ex_list.c, ex_log.c, ex_markdown.c, ex_module.c, ex_network.c, ex_network.h, ex_network_alpn.c, ex_network_mock.c, ex_network_proxy.c, ex_network_reactor.c, ex_network_sni.c, ex_network_sse.c, ex_network_ssl.c, ex_network_ssl_hardened.c, ex_network_ssl_nonblock.c, ex_network_ws.c, ex_parallel_for.c, ex_pcre.c, ex_pretty.c, ex_query.c, ex_random.c, ex_spawn.c, ex_ssrf.c, ex_stack.c, ex_threads.c, ex_trajectory.c, ex_trees.c, ex_url.c, ex_url_safe.c, ex_wrap.c, ex_x509.c, and ex_zlib.c.

Definition at line 104 of file n_log.h.

Referenced by _a4_midi_init(), _n_log(), action_on_sig(), all_exception(), array_exception(), divzero_exception(), handle_inline_and_count(), load_game_config(), main(), main(), main(), manage_client(), n_daemonize_ex(), n_gui_draw(), n_spawn_wait_cancel(), netw_accept_pool_start(), netw_accept_pool_stop(), netw_accept_pool_wait(), on_button_click(), on_checkbox_toggle(), on_combobox_select(), on_ghost_toggle(), on_grid_toggle(), on_height_toggle(), on_link_click(), on_listbox_select(), on_load_layout(), on_load_layout_click(), on_login_click(), on_panel_close(), on_player_toggle(), on_proj_select(), on_radiolist_select(), on_save_layout(), on_save_layout_click(), on_scroll(), on_slider_change(), on_smooth_toggle(), on_text_change(), on_toggle_detach(), on_window_toggle_click(), overflow_exception(), parsing_exception(), print_list_info(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), run_client(), run_client(), run_server(), run_server(), server_fn(), server_fn(), test_aead_chacha(), test_digests(), test_frame_codec(), test_kdf(), and worker_handle_client().

◆ LOG_NULL

◆ LOG_STDERR

#define LOG_STDERR   -4

internal, default LOG_TYPE

Examples
ex_exceptions.c, ex_pcre.c, and ex_signals.c.

Definition at line 74 of file n_log.h.

Referenced by main(), main(), main(), and set_log_level().

◆ LOG_SYSJRNL

#define LOG_SYSJRNL   100

to sysjrnl

Definition at line 76 of file n_log.h.

Referenced by _n_log(), and set_log_level().

◆ LOG_WARNING

◆ n_log

#define n_log ( __LEVEL__,
... )
Value:
do { \
_n_log(__LEVEL__, __FILE__, __func__, __LINE__, __VA_ARGS__); \
} while (0)

Logging function wrapper to get line and func.

Examples
ex_accept_pool_client.c, ex_accept_pool_server.c, ex_allegro_4.c, ex_atlas.c, ex_base64.c, ex_clock_sync.c, ex_common.c, ex_configfile.c, ex_cookies.c, ex_crypto.c, ex_diff.c, ex_digest.c, ex_disk_cache.c, ex_dns.c, ex_ecc.c, ex_entropy.c, ex_exceptions.c, ex_file.c, ex_file_copy.c, ex_fluid.c, ex_fluid_config.c, ex_git.c, ex_gui.c, ex_gui_bench.c, ex_gui_button_keys.c, ex_gui_checkbox_label.c, ex_gui_color_picker.c, ex_gui_colorwheel.c, ex_gui_combobox_items.c, ex_gui_combobox_wheel.c, ex_gui_cursor.c, ex_gui_curve.c, ex_gui_custom.c, ex_gui_custom_mouse.c, ex_gui_datagrid.c, ex_gui_datagrid_keys.c, ex_gui_datagrid_sort.c, ex_gui_detach.c, ex_gui_dictionary.c, ex_gui_display_fallback.c, ex_gui_double_click.c, ex_gui_dropmenu.c, ex_gui_frameless_drag.c, ex_gui_global_scroll.c, ex_gui_glyph.c, ex_gui_grid.c, ex_gui_hexview.c, ex_gui_hover.c, ex_gui_isometric.c, ex_gui_kvtable.c, ex_gui_label_fits.c, ex_gui_label_lines.c, ex_gui_layout_persist.c, ex_gui_listbox.c, ex_gui_md.c, ex_gui_multiwin.c, ex_gui_network.c, ex_gui_particles.c, ex_gui_placeholder.c, ex_gui_popup.c, ex_gui_progressbar.c, ex_gui_reentrant.c, ex_gui_round.c, ex_gui_sectionlist.c, ex_gui_slider_default.c, ex_gui_slider_handle.c, ex_gui_slider_step.c, ex_gui_splitpane.c, ex_gui_suggest.c, ex_gui_syntaxview.c, ex_gui_text_shorten.c, ex_gui_textarea_selection.c, ex_gui_tooltip.c, ex_gui_tree_lazy.c, ex_gui_tree_order.c, ex_gui_tree_state.c, ex_gui_window_rect.c, ex_gui_zorder.c, ex_hash.c, ex_hex.c, ex_html.c, ex_http2.c, ex_http2_server.c, ex_http_req.c, ex_json.c, ex_kafka.c, ex_list.c, ex_log.c, ex_markdown.c, ex_module.c, ex_network.c, ex_network.h, ex_network_alpn.c, ex_network_connect_abort.c, ex_network_mock.c, ex_network_proxy.c, ex_network_reactor.c, ex_network_sni.c, ex_network_sse.c, ex_network_ssl.c, ex_network_ssl_hardened.c, ex_network_ssl_hostname.c, ex_network_ssl_nonblock.c, ex_network_ws.c, ex_network_ws_limits.c, ex_nstr.c, ex_parallel_for.c, ex_pcre.c, ex_pretty.c, ex_pth.c, ex_query.c, ex_random.c, ex_sha256.c, ex_signals.c, ex_spawn.c, ex_ssrf.c, ex_stack.c, ex_threads.c, ex_trajectory.c, ex_trees.c, ex_url.c, ex_url_safe.c, ex_wrap.c, ex_x509.c, ex_zip.c, and ex_zlib.c.

Definition at line 113 of file n_log.h.

Referenced by _a4_midi_init(), _destroy_ht(), _destroy_ht_trie(), _from_jpeg(), _from_png(), _give(), _ht_check_trie_divergence(), _ht_get_double(), _ht_get_double_trie(), _ht_get_int(), _ht_get_int_trie(), _ht_get_node_trie(), _ht_get_ptr(), _ht_get_ptr_trie(), _ht_get_string(), _ht_get_string_trie(), _ht_is_leaf_node_trie(), _ht_new_double_node(), _ht_new_int_node(), _ht_new_node(), _ht_new_node_trie(), _ht_new_ptr_node(), _ht_new_string_node(), _ht_new_string_ptr_node(), _ht_put_double(), _ht_put_double_trie(), _ht_put_int(), _ht_put_int_trie(), _ht_put_ptr(), _ht_put_ptr_trie(), _ht_put_string(), _ht_put_string_ptr(), _ht_put_string_ptr_trie(), _ht_put_string_trie(), _ht_remove(), _ht_remove_trie(), _myers(), _n_git_log_error(), _n_module_set_error(), _n_nodup_log(), _n_nodup_log_indexed(), _netw_ssl_handshake_step(), _popup_append(), _proxy_tcp_connect(), _tiff_file(), action_on_sig(), add_bmp_to_lib(), add_threaded_process(), all_exception(), approx(), array_exception(), avro_decode_bytes_raw(), avro_decode_container(), avro_decode_datum(), avro_decode_long(), avro_encode_container(), avro_encode_datum(), avro_file_to_json(), avro_json_to_file(), avro_nstr_avro_to_json(), avro_nstr_json_to_avro(), char_to_nstr_ex(), check_exclusive(), check_refused(), client_worker_echo(), collect(), CompressData(), create_anim_library(), create_msg(), create_node(), create_octree(), create_octree_node(), create_quadtree(), delete_msg(), deplete_send_buffer(), destroy_threaded_pool(), dispatch_to_pool(), divzero_exception(), dump_nodup_log(), expect(), expect(), expect_canon(), expect_close(), expect_close(), expect_close(), expect_close(), expect_contains(), expect_contains(), expect_encode(), expect_eq(), expect_eq_float(), expect_eq_int(), expect_eqf(), expect_hex(), expect_link_absent(), expect_link_present(), expect_missing(), expect_near(), expect_near(), expect_order(), expect_parse_error(), expect_resolve(), expect_size(), expect_streq(), expect_text(), expect_text(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_true(), expect_unified(), file_to_nstr(), get_computer_name(), get_config_section_value(), get_net_datas(), get_nstr_from_msg(), get_str_from_msg(), handle_inline_and_count(), handle_request(), handle_stays_inside(), ht_duplicate(), ht_get_completion_list(), ht_get_optimal_size(), ht_get_ptr_ex(), ht_get_table_collision_percentage(), ht_optimize(), ht_put_ptr_ex(), ht_remove_ex(), ht_resize(), init_game_env(), init_nodup_log(), init_particle_system(), inlined_func(), insert(), iso_generate_transition_masks(), iso_generate_transition_tiles(), iso_map_draw(), iso_map_load(), iso_map_save(), join(), lexLoadMenuFromFile(), list_destroy(), list_empty(), list_empty_with_f(), list_node_pop(), list_node_push(), list_node_shift(), list_node_unshift(), list_pop_f(), list_push(), list_push_sorted(), list_shift_f(), list_unshift(), list_unshift_sorted(), load_app_state(), load_bitmap(), load_config_file(), load_game_config(), load_midi(), load_sample(), load_ttf_font(), log_environment(), main(), main(), main(), make_msg_from_str(), make_str_from_msg(), manage_client(), n_aead_aes256gcm_decrypt(), n_aead_aes256gcm_encrypt(), n_aead_chacha20poly1305_decrypt(), n_aead_chacha20poly1305_encrypt(), n_atlas_set_page(), n_base64_decode(), n_base64_decode_len(), n_base64_encode(), n_clock_sync_process_response(), n_clock_sync_seed(), n_daemonize_ex(), n_digest_blake2b512(), n_digest_oneshot(), n_disk_cache_expire(), n_disk_cache_open(), n_disk_cache_prune(), n_disk_cache_prune_group(), n_disk_cache_put(), n_ed25519_keypair(), n_ed25519_sign(), n_ed25519_verify(), n_file_copy_verified(), n_file_read_bounded(), n_file_write_atomic(), n_get_cpu_id(), n_get_current_dir_hd_serial(), n_git_create_branch(), n_git_fetch(), n_git_init_ex(), n_git_open(), n_git_pull(), n_git_push(), n_gui_add_window(), n_gui_checkbox_set_bitmaps(), n_gui_color_picker_new(), n_gui_combobox_set_bitmaps(), n_gui_curve_new(), n_gui_draw(), n_gui_dropmenu_add_dynamic_entry(), n_gui_dropmenu_set_bitmaps(), n_gui_dropmenu_set_open(), n_gui_eyedropper_cursor(), n_gui_grid_new(), n_gui_label_set_bitmap(), n_gui_listbox_set_bitmaps(), n_gui_load_layout_json(), n_gui_maximize_window(), n_gui_new_ctx(), n_gui_radiolist_set_bitmaps(), n_gui_scrollbar_set_bitmaps(), n_gui_sectionlist_add_widget(), n_gui_set_focus(), n_gui_set_virtual_size(), n_gui_slider_set_bitmaps(), n_gui_textarea_set_bitmap(), n_gui_textarea_set_mask_char(), n_gui_textarea_set_placeholder(), n_gui_textarea_set_suggest(), n_gui_window_attach(), n_gui_window_detach(), n_gui_window_set_autofit(), n_gui_window_set_bitmaps(), n_gui_window_set_native_icons(), n_gui_window_set_zorder(), n_hex_decode(), n_hex_decode_to(), n_hex_encode(), n_hex_encode_to(), n_hmac_oneshot(), n_html_to_text(), n_http2_server_new(), n_kafka_add_header_ex(), n_kafka_delete(), n_kafka_delivery_message_callback(), n_kafka_dump_unprocessed(), n_kafka_load_config(), n_kafka_mkdir_p(), n_kafka_move_file_to_sended(), n_kafka_new(), n_kafka_new_headers(), n_kafka_poll(), n_kafka_polling_thread(), n_kafka_produce(), n_kafka_produce_ex(), n_kafka_set_error_timeout(), n_kafka_start_polling_thread(), n_kafka_stop_polling_thread(), n_kdf_hkdf_sha256(), n_kdf_scrypt(), n_mock_server_run(), n_mock_server_start(), n_open_with_default(), n_pbkdf2_oneshot(), n_popen(), n_pretty_json(), n_proxy_cfg_parse(), n_proxy_connect_socks5(), n_proxy_connect_tunnel(), n_proxy_connect_tunnel_ssl(), n_pth_load(), n_random_bytes(), n_random_from_urandom(), n_reactor_new(), n_scan_dir(), n_spawn_detached(), n_spawn_wait_cancel(), n_sse_connect(), n_vigenere_cypher(), n_vigenere_decode_file(), n_vigenere_decode_file_qa(), n_vigenere_decode_qa(), n_vigenere_encode_file(), n_vigenere_encode_file_qa(), n_vigenere_encode_qa(), n_vigenere_get_answer(), n_vigenere_get_question(), n_vigenere_get_rootkey(), n_ws_connect(), n_ws_recv(), n_ws_send(), n_x25519_derive(), n_x25519_keypair(), n_x509_generate_ca(), n_x509_keypair_pem(), n_x509_mint_host_cert(), n_zip_read(), netw_accept_from_ex(), netw_accept_pool_create(), netw_accept_pool_destroy(), netw_accept_pool_start(), netw_accept_pool_stop(), netw_accept_pool_thread_func(), netw_accept_pool_wait(), netw_add_msg(), netw_adopt_client_fd(), netw_bind_udp(), netw_build_http_response(), netw_close(), netw_connect(), netw_connect_check(), netw_connect_ex_to(), netw_connect_nonblock(), netw_connect_to(), netw_connect_udp(), netw_extract_http_info(), netw_get_http_date(), netw_get_ident(), netw_get_ping(), netw_get_position(), netw_get_state(), netw_get_string(), netw_make_listening(), netw_msg_get_type(), netw_new(), netw_pool_add(), netw_pool_netw_close(), netw_pool_remove(), netw_recv_func(), netw_send_func(), netw_set_blocking(), netw_set_compression_mode(), netw_set_crypto(), netw_set_crypto_chain(), netw_set_crypto_chain_pem(), netw_set_crypto_pem(), netw_setsockopt(), netw_ssl_connect(), netw_ssl_do_handshake(), netw_ssl_handshake_once(), netw_ssl_print_errors(), netw_ssl_server_handshake_once(), netw_ssl_set_alpn(), netw_ssl_set_ca(), netw_ssl_set_ciphers(), netw_ssl_set_client_cert(), netw_ssl_set_verify(), netw_ssl_set_versions(), netw_start_thr_engine(), netw_stop_thr_engine(), netw_udp_recvfrom(), netw_udp_sendto(), netw_urldecode(), netw_wait_msg(), new_ht(), new_ht_trie(), new_list_node(), new_nstr(), new_stack(), new_thread_pool(), new_tree(), nfgets(), npcre_match(), npcre_match_capture(), npcre_new(), npcre_replace(), nstr_to_fd(), nstr_to_file(), nstrcat_bytes_ex(), nstrcat_ex(), nstrdup(), nstrprintf_cat_ex(), nstrprintf_ex(), occupy_thread(), on_button_click(), on_checkbox_toggle(), on_combobox_select(), on_ghost_toggle(), on_grid_toggle(), on_height_toggle(), on_link_click(), on_listbox_select(), on_load_layout(), on_load_layout_click(), on_login_click(), on_panel_close(), on_player_toggle(), on_proj_select(), on_radiolist_select(), on_request(), on_save_layout(), on_save_layout_click(), on_scroll(), on_slider_change(), on_slider_change(), on_smooth_toggle(), on_text_change(), on_toggle_detach(), on_window_toggle_click(), open_safe_logging(), overflow_exception(), parsing_exception(), PAUSE(), pick_cb(), pk_run(), print_list_info(), process_args(), process_args(), process_args(), push_exception(), recv_data(), recv_data_once(), recv_php(), recv_ssl_data(), recv_ssl_data_once(), recv_udp_data(), refresh_thread_pool(), remove_list_node_f(), run(), run_client(), run_client(), run_server(), run_server(), scan_dir_ex(), send_data(), send_data_once(), send_net_datas(), send_php(), send_ssl_data(), send_ssl_data_once(), send_udp_data(), server_fn(), server_fn(), server_fn(), set_color_depth(), set_log_file(), set_socket_timeout(), sigchld_handler(), sigchld_handler_installer(), srv_handle_frame(), ssl_harden_context(), start_threaded_pool(), str_replace(), str_to_int_ex(), str_to_int_nolog(), str_to_long_ex(), str_to_long_long_ex(), strcpy_u(), system_nb(), tensor_read(), test_aead_chacha(), test_atomic_file(), test_bounded(), test_build_response(), test_bytes(), test_decode_errors(), test_decode_roundtrip(), test_digests(), test_enctype(), test_errors(), test_errors(), test_forms(), test_frame_codec(), test_hmac(), test_js_urls(), test_kdf(), test_links(), test_parse(), test_replace(), test_scripts(), test_sha256_hex(), test_sitemap(), test_to_text(), test_token(), thread_pool_processing_function(), trajectory_add_point(), trajectory_new(), trajectory_set_end(), trajectory_update(), tree_create_node(), tree_insert_child(), UncompressData(), unzip4_nstr(), unzip_nstr(), userlist_del_user(), userlist_set_position_behavior(), validate_path(), wait_for_synced_threaded_pool(), wait_for_threaded_pool(), worker_handle_client(), write_and_fit_ex(), write_config_file(), zip4_nstr(), zip_nstr(), zip_scan(), and zip_unpack().

◆ N_PRINTF_FORMAT

#define N_PRINTF_FORMAT ( fmt,
args )

declare a function printf-like; nothing on a compiler without attributes

Definition at line 63 of file n_log.h.

Referenced by char_to_nstr_nocopy_ex().

Function Documentation

◆ _n_log()

void _n_log ( int level,
const char * file,
const char * func,
int line,
const char * format,
... )

Full log function.

Must be wrapped in a MACRO to get the correct file/func/line information

Full log function.

log( level , const char *format , ... ) is a macro around _log

Parameters
levelLogging level
fileFile containing the emitted log
funcFunction emitting the log
lineLine of the log
formatFormat and string of the log, printf style

Definition at line 298 of file n_log.c.

References _str, COLOR_BLUE, COLOR_CYAN, COLOR_GREEN, COLOR_MAGENTA, COLOR_RED, COLOR_RESET, COLOR_WHITE, COLOR_YELLOW, FreeNoLog, get_log_level(), line(), LOG_ALERT, LOG_CRIT, LOG_DEBUG, LOG_EMERG, LOG_ERR, log_file, LOG_INFO, log_level, LOG_NOTICE, LOG_NULL, LOG_SYSJRNL, LOG_TYPE, LOG_WARNING, Malloc, prioritynames, proc_name, terminal_support_colors, and vasprintf().

Referenced by _n_nodup_log(), _n_nodup_log_indexed(), and _npcre_print_error().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ close_safe_logging()

int close_safe_logging ( TS_LOG * log)

close a thread-safe logging file

Parameters
logA TS_LOG handler
Returns
TRUE on success, FALSE on error

Definition at line 510 of file n_log.c.

References TS_LOG::file, Free, and TS_LOG::LOG_MUTEX.

Referenced by main().

Here is the caller graph for this function:

◆ close_sysjrnl()

void close_sysjrnl ( void )

close syslog / free name for event log

close syslog / free name for event log

Definition at line 112 of file n_log.c.

References FreeNoLog, and proc_name.

Referenced by main().

Here is the caller graph for this function:

◆ get_log_file()

FILE * get_log_file ( void )

get the log file name if any

get the log file name if any

Returns
a valid FILE handle or NULL

Definition at line 227 of file n_log.c.

References log_file.

Referenced by main(), and main().

Here is the caller graph for this function:

◆ get_log_level()

int get_log_level ( void )

Return the global log level.

Possible values: NOLOG , NOTICE , VERBOSE , ERROR , DEBUG

Return the global log level.

Returns
static int LOG_LEVEL

Definition at line 161 of file n_log.c.

References LOG_LEVEL.

Referenced by _n_log(), and main().

Here is the caller graph for this function:

◆ open_safe_logging()

int open_safe_logging ( TS_LOG ** log,
char * pathname,
char * opt )

Open a thread-safe logging file.

Parameters
logA TS_LOG handler
pathnameThe file path (if any) and name
optOptions for opening (please never forget to use "w")
Returns
TRUE on success , FALSE on error , -1000 if already open

Definition at line 413 of file n_log.c.

References _str, Free, LOG_ERR, Malloc, and n_log.

Referenced by main().

Here is the caller graph for this function:

◆ open_sysjrnl()

char * open_sysjrnl ( const char * identity)

Open a syslog / set name for event log.

Open a syslog / set name for event log.

Parameters
identityTag for syslog or NULL to use argv[0]
Returns
NULL or identity if success

Definition at line 96 of file n_log.c.

References __n_assert, and proc_name.

Referenced by main().

Here is the caller graph for this function:

◆ set_log_file()

int set_log_file ( char * file)

set a file as standard log output

set a file as standard log output

Parameters
fileThe filename where to log
Returns
TRUE or FALSE

Definition at line 170 of file n_log.c.

References __n_assert, _str, LOG_ERR, LOG_FILE, log_file, log_file_owned, n_log, and set_log_level().

Referenced by main(), and main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_log_file_fd()

int set_log_file_fd ( FILE * fd)

set an already open stream (stdout, stderr, a caller's FILE) as standard log output, never closed by the library

set an already open stream (stdout, stderr, a caller's FILE) as standard log output, never closed by the library

The stream stays owned by the caller: the library never closes it, not here and not when a later set_log_file() / set_log_file_fd() replaces it. A log file previously opened by set_log_file() is closed first. Typical use is set_log_file_fd(stdout), e.g. under Emscripten where stderr shows up as console errors in the browser.

Parameters
fdThe open stream to log to
Returns
TRUE or FALSE

Definition at line 210 of file n_log.c.

References __n_assert, LOG_FILE, log_file, log_file_owned, and set_log_level().

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_log_level()

void set_log_level ( const int log_level)

Set global log level.

Possible values: NOLOG , NOTICE , VERBOSE , ERROR , DEBUG

Set global log level.

Parameters
log_levelLog level value. Supported: NOLOG,LOG_NOTICE/INFO/ERR/DEBUG,LOG_FILE/STDERR/SYSJRNL

Definition at line 123 of file n_log.c.

References LOG_FILE, LOG_LEVEL, log_level, LOG_STDERR, LOG_SYSJRNL, LOG_TYPE, and terminal_support_colors.

Referenced by main(), main(), main(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), process_args(), set_log_file(), and set_log_file_fd().

Here is the caller graph for this function:

◆ write_safe_log()

int write_safe_log ( TS_LOG * log,
char * pat,
... )

write to a thread-safe logging file

Parameters
logA TS_LOG handler
patPattern for writting (i.e "%d %d %s")
Returns
TRUE on success, FALSE on error

Definition at line 482 of file n_log.c.

References TS_LOG::file, and TS_LOG::LOG_MUTEX.

Referenced by main().

Here is the caller graph for this function: