diff options
author | Robert Ancell <robert.ancell@canonical.com> | 2015-10-28 16:22:31 +1300 |
---|---|---|
committer | Robert Ancell <robert.ancell@canonical.com> | 2015-10-28 16:22:31 +1300 |
commit | 0a2e5336c54359c6e94ba22a016be4dd363b6346 (patch) | |
tree | 29e11f4662ad0e5e798ba2499fe9bba2d1de90c6 | |
parent | 9760535ab1bbc8d69d3ca372f58b4776afae167c (diff) | |
download | lightdm-0a2e5336c54359c6e94ba22a016be4dd363b6346.tar.gz |
Add a backup-logs option to re-enable the old log backup mode
-rw-r--r-- | data/lightdm.conf | 2 | ||||
-rw-r--r-- | src/seat.c | 4 | ||||
-rw-r--r-- | src/unity-system-compositor.c | 5 | ||||
-rw-r--r-- | src/x-server-local.c | 5 | ||||
-rw-r--r-- | src/x-server-xvnc.c | 5 |
5 files changed, 14 insertions, 7 deletions
diff --git a/data/lightdm.conf b/data/lightdm.conf index 8284081b..e55ac175 100644 --- a/data/lightdm.conf +++ b/data/lightdm.conf @@ -15,6 +15,7 @@ # 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 @@ -31,6 +32,7 @@ #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 @@ -608,13 +608,15 @@ start_session (Seat *seat, Session *session) 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); } diff --git a/src/unity-system-compositor.c b/src/unity-system-compositor.c index 203f2aeb..069e11a8 100644 --- a/src/unity-system-compositor.c +++ b/src/unity-system-compositor.c @@ -374,7 +374,7 @@ static gboolean 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; @@ -407,7 +407,8 @@ unity_system_compositor_start (DisplayServer *server) /* 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"); 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); diff --git a/src/x-server-xvnc.c b/src/x-server-xvnc.c index 9b03fff7..4c5597c9 100644 --- a/src/x-server-xvnc.c +++ b/src/x-server-xvnc.c @@ -182,7 +182,7 @@ x_server_xvnc_start (DisplayServer *display_server) { 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; @@ -201,7 +201,8 @@ x_server_xvnc_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, 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); |