i3
Defines | Functions | Variables
include/log.h File Reference
#include <stdarg.h>
#include <stdbool.h>
Include dependency graph for log.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define LOG(fmt,...)   verboselog(fmt, ##__VA_ARGS__)
 ##__VA_ARGS__ means: leave out __VA_ARGS__ completely if it is empty, that is, delete the preceding comma
#define ELOG(fmt,...)   errorlog("ERROR: " fmt, ##__VA_ARGS__)
#define DLOG(fmt,...)   debuglog(LOGLEVEL, "%s:%s:%d - " fmt, __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__)

Functions

void init_logging (void)
 Initializes logging by creating an error logfile in /tmp (or XDG_RUNTIME_DIR, see get_process_filename()).
void add_loglevel (const char *level)
 Enables the given loglevel.
void set_verbosity (bool _verbose)
 Set verbosity of i3.
void debuglog (uint64_t lev, char *fmt,...)
 Logs the given message to stdout while prefixing the current time to it, but only if the corresponding debug loglevel was activated.
void errorlog (char *fmt,...)
 Logs the given message to stdout while prefixing the current time to it.
void verboselog (char *fmt,...)
 Logs the given message to stdout while prefixing the current time to it, but only if verbose mode is activated.
void slog (char *fmt, va_list args)
 Logs the given message to stdout while prefixing the current time to it.

Variables

char * loglevels []
char * errorfilename
char * shmlogname
int shmlog_size

Define Documentation

#define DLOG (   fmt,
  ... 
)    debuglog(LOGLEVEL, "%s:%s:%d - " fmt, __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__)

Definition at line 20 of file log.h.

Referenced by _create___i3(), _tree_next(), _workspace_show(), add_subscription(), append_argument(), assignment_for(), clear_stack(), cmd_border(), cmd_criteria_add(), cmd_criteria_init(), cmd_criteria_match_windows(), cmd_exec(), cmd_floating(), cmd_focus(), cmd_focus_direction(), cmd_focus_level(), cmd_focus_output(), cmd_focus_window_mode(), cmd_fullscreen(), cmd_kill(), cmd_layout(), cmd_mark(), cmd_mode(), cmd_move_con_to_output(), cmd_move_con_to_workspace(), cmd_move_con_to_workspace_name(), cmd_move_con_to_workspace_number(), cmd_move_direction(), cmd_move_scratchpad(), cmd_move_window_to_center(), cmd_move_window_to_position(), cmd_move_workspace_to_output(), cmd_resize(), cmd_scratchpad_show(), cmd_workspace(), cmd_workspace_name(), con_accepts_window(), con_attach(), con_border_style(), con_descend_direction(), con_focus(), con_get_next(), con_is_floating(), con_minimum_size(), con_move_to_workspace(), con_new(), con_next_focused(), con_on_remove_child(), con_parent_with_orientation(), con_set_border_style(), con_set_layout(), con_toggle_fullscreen(), create_workspace_on_output(), disable_randr(), drag_pointer(), DRAGGING_CB(), ewmh_update_workarea(), fake_absolute_configure_notify(), fake_outputs_init(), floating_drag_window(), floating_enable(), floating_fix_coordinates(), floating_maybe_reassign_ws(), floating_mod_on_tiled_client(), floating_raise_con(), floating_resize_window(), format_event(), get_output_containing(), get_string(), grab_keycode_for_binding(), handle_button_press(), handle_client_message(), handle_configure_request(), handle_destroy_notify_event(), handle_enter_notify(), handle_expose_event(), handle_focus_in(), handle_hints(), handle_key_press(), handle_map_request(), handle_mapping_notify(), handle_normal_hints(), handle_output(), handle_screen_change(), handle_signal(), handle_transient_for(), handle_unmap_notify_event(), init_ws_for_output(), insert_con_into(), ipc_create_socket(), ipc_new_client(), ipc_receive_message(), main(), manage_window(), next_state(), output_change_mode(), output_init_con(), parse_command(), parse_file(), query_screens(), randr_query_outputs(), render_con(), render_l_output(), resize_graphical_handler(), restore_geometry(), route_click(), run_assignments(), scratchpad_move(), scratchpad_show(), send_take_focus(), sig_handle_key_press(), startup_monitor_event(), startup_workspace_for_window(), TAILQ_HEAD(), tiling_resize(), tiling_resize_for_border(), translate_keysyms(), tree_close(), tree_flatten(), tree_move(), tree_open_con(), tree_render(), tree_restore(), tree_split(), ungrab_all_keys(), window_update_class(), window_update_hints(), window_update_leader(), window_update_name(), window_update_name_legacy(), window_update_role(), window_update_strut_partial(), window_update_transient_for(), workspace_attach_to(), workspace_back_and_forth(), workspace_get(), workspace_prev_on_output(), workspace_update_urgent_flag(), ws_force_orientation(), x_con_init(), x_draw_decoration(), x_move_win(), x_push_changes(), x_push_node(), x_push_node_unmaps(), x_reinit(), xcb_check_cb(), xinerama_init(), xkb_got_event(), and yyparse().

#define ELOG (   fmt,
  ... 
)    errorlog("ERROR: " fmt, ##__VA_ARGS__)

Definition at line 19 of file log.h.

#define LOG (   fmt,
  ... 
)    verboselog(fmt, ##__VA_ARGS__)

##__VA_ARGS__ means: leave out __VA_ARGS__ completely if it is empty, that is, delete the preceding comma

Definition at line 18 of file log.h.

Referenced by _workspace_show(), cmd_append_layout(), cmd_exit(), cmd_focus(), cmd_focus_direction(), cmd_focus_level(), cmd_focus_output(), cmd_focus_window_mode(), cmd_move_con_to_output(), cmd_move_con_to_workspace_name(), cmd_move_con_to_workspace_number(), cmd_move_workspace_to_output(), cmd_nop(), cmd_open(), cmd_reload(), cmd_rename_workspace(), cmd_resize_floating(), cmd_resize_tiling_direction(), cmd_resize_tiling_width_height(), cmd_restart(), cmd_split(), cmd_workspace_name(), cmd_workspace_number(), con_get_next(), con_on_remove_child(), con_toggle_fullscreen(), create_workspace_on_output(), floating_disable(), floating_enable(), handle_client_message(), handle_enter_notify(), handle_expose_event(), handle_hints(), handle_unmap_notify_event(), i3_restart(), init_ws_for_output(), IPC_HANDLER(), json_bool(), json_double(), json_end_array(), json_end_map(), json_int(), json_key(), json_string(), level_up(), main(), manage_window(), match_matches_window(), parse_configuration(), regex_matches(), scratchpad_move(), scratchpad_show(), start_application(), switch_mode(), TAILQ_HEAD(), toggle_floating_mode(), tree_append_json(), tree_close_con(), tree_restore(), window_update_class(), window_update_hints(), window_update_name(), window_update_name_legacy(), window_update_role(), workspace_get(), workspace_is_visible(), workspace_reassign_sticky(), x_window_kill(), and xcb_warp_pointer_rect().


Function Documentation

void add_loglevel ( const char *  level)

Enables the given loglevel.

Definition at line 141 of file log.c.

References loglevel, and loglevels.

Referenced by main().

void debuglog ( uint64_t  lev,
char *  fmt,
  ... 
)

Logs the given message to stdout while prefixing the current time to it, but only if the corresponding debug loglevel was activated.

Definition at line 272 of file log.c.

References logbuffer, loglevel, and vlog().

Here is the call graph for this function:

void errorlog ( char *  fmt,
  ... 
)

Logs the given message to stdout while prefixing the current time to it.

Definition at line 252 of file log.c.

References errorfile, and vlog().

Here is the call graph for this function:

void init_logging ( void  )

Initializes logging by creating an error logfile in /tmp (or XDG_RUNTIME_DIR, see get_process_filename()).

Definition at line 77 of file log.c.

References ELOG, errorfile, errorfilename, get_process_filename(), logbuffer, logbuffer_shm, logbuffer_size, loglastwrap, logwalk, min(), sasprintf(), shmlog_size, shmlogname, and store_log_markers().

Referenced by main().

Here is the call graph for this function:

void set_verbosity ( bool  _verbose)

Set verbosity of i3.

If verbose is set to true, informative messages will be printed to stdout. If verbose is set to false, only errors will be printed.

Definition at line 133 of file log.c.

References verbose.

Referenced by main().

void slog ( char *  fmt,
va_list  args 
)

Logs the given message to stdout while prefixing the current time to it.

This is to be called by LOG() which includes filename/linenumber

void verboselog ( char *  fmt,
  ... 
)

Logs the given message to stdout while prefixing the current time to it, but only if verbose mode is activated.

Definition at line 237 of file log.c.

References logbuffer, verbose, and vlog().

Here is the call graph for this function:


Variable Documentation

Definition at line 34 of file log.c.

Referenced by init_logging(), and start_configerror_nagbar().

char* loglevels[]

Definition at line 1 of file loglevels.h.

Referenced by add_loglevel().

Definition at line 43 of file log.c.

Referenced by init_logging(), and main().

char* shmlogname

Definition at line 40 of file log.c.

Referenced by handle_signal(), i3_exit(), init_logging(), and x_set_i3_atoms().