# sessions-directory = Directory to find sessions
# remote-sessions-directory = Directory to find remote sessions
# greeters-directory = Directory to find greeters
+# backup-logs = True to move add a .old suffix to old log files when opening new ones
#
[LightDM]
#start-default-seat=true
#sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions
#remote-sessions-directory=/usr/share/lightdm/remote-sessions
#greeters-directory=/usr/share/lightdm/greeters:/usr/share/xgreeters
+#backup-logs=false
#
# Seat configuration
if (IS_GREETER (session))
{
gchar *log_dir, *filename, *log_filename;
+ gboolean backup_logs;
log_dir = config_get_string (config_get_instance (), "LightDM", "log-directory");
filename = g_strdup_printf ("%s-greeter.log", display_server_get_name (session_get_display_server (session)));
log_filename = g_build_filename (log_dir, filename, NULL);
g_free (log_dir);
g_free (filename);
- session_set_log_file (session, log_filename, LOG_MODE_APPEND);
+ backup_logs = config_get_boolean (config_get_instance (), "LightDM", "backup-logs");
+ session_set_log_file (session, log_filename, backup_logs ? LOG_MODE_BACKUP_AND_TRUNCATE : LOG_MODE_APPEND);
g_free (log_filename);
}
unity_system_compositor_start (DisplayServer *server)
{
UnitySystemCompositor *compositor = UNITY_SYSTEM_COMPOSITOR (server);
- gboolean result;
+ gboolean result, backup_logs;
GString *command;
gchar *dir, *log_file, *absolute_command, *value;
/* Setup environment */
compositor->priv->process = process_new (run_cb, compositor);
- process_set_log_file (compositor->priv->process, log_file, TRUE, LOG_MODE_APPEND);
+ backup_logs = config_get_boolean (config_get_instance (), "LightDM", "backup-logs");
+ process_set_log_file (compositor->priv->process, log_file, TRUE, backup_logs ? LOG_MODE_BACKUP_AND_TRUNCATE : LOG_MODE_APPEND);
g_free (log_file);
process_set_clear_environment (compositor->priv->process, TRUE);
process_set_env (compositor->priv->process, "XDG_SEAT", "seat0");
x_server_local_start (DisplayServer *display_server)
{
XServerLocal *server = X_SERVER_LOCAL (display_server);
- gboolean result;
+ gboolean result, backup_logs;
gchar *filename, *dir, *log_file, *absolute_command;
GString *command;
filename = g_strdup_printf ("%s.log", display_server_get_name (display_server));
dir = config_get_string (config_get_instance (), "LightDM", "log-directory");
log_file = g_build_filename (dir, filename, NULL);
- process_set_log_file (server->priv->x_server_process, log_file, TRUE, LOG_MODE_APPEND);
+ backup_logs = config_get_boolean (config_get_instance (), "LightDM", "backup-logs");
+ process_set_log_file (server->priv->x_server_process, log_file, TRUE, backup_logs ? LOG_MODE_BACKUP_AND_TRUNCATE : LOG_MODE_APPEND);
l_debug (display_server, "Logging to %s", log_file);
g_free (log_file);
g_free (filename);
{
XServerXVNC *server = X_SERVER_XVNC (display_server);
XAuthority *authority;
- gboolean result;
+ gboolean result, backup_logs;
gchar *filename, *run_dir, *dir, *log_file, *absolute_command;
GString *command;
gchar hostname[1024], *number;
filename = g_strdup_printf ("%s.log", display_server_get_name (display_server));
dir = config_get_string (config_get_instance (), "LightDM", "log-directory");
log_file = g_build_filename (dir, filename, NULL);
- process_set_log_file (server->priv->x_server_process, log_file, FALSE, LOG_MODE_APPEND);
+ backup_logs = config_get_boolean (config_get_instance (), "LightDM", "backup-logs");
+ process_set_log_file (server->priv->x_server_process, log_file, FALSE, backup_logs ? LOG_MODE_BACKUP_AND_TRUNCATE : LOG_MODE_APPEND);
l_debug (display_server, "Logging to %s", log_file);
g_free (log_file);
g_free (filename);