summaryrefslogtreecommitdiff
path: root/src/x-server-local.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/x-server-local.c')
-rw-r--r--src/x-server-local.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/x-server-local.c b/src/x-server-local.c
index 384c76c3..a7827432 100644
--- a/src/x-server-local.c
+++ b/src/x-server-local.c
@@ -474,7 +474,7 @@ static gboolean
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;
@@ -493,7 +493,8 @@ x_server_local_start (DisplayServer *display_server)
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);