From 2869b65bcb5fa65ea0505c6fa513aeea9a0fbdc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= Date: Sat, 7 Sep 2013 18:25:46 -0400 Subject: recover gracefully from syslog failures --- IkiWiki.pm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'IkiWiki.pm') diff --git a/IkiWiki.pm b/IkiWiki.pm index 87ddb1b56..2c0b1153c 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -728,6 +728,7 @@ sub debug ($) { } my $log_open=0; +my $log_failed=0; sub log_message ($$) { my $type=shift; @@ -738,9 +739,15 @@ sub log_message ($$) { Sys::Syslog::openlog('ikiwiki', '', 'user'); $log_open=1; } - return eval { + eval { Sys::Syslog::syslog($type, "[$config{wikiname}] %s", join(" ", @_)); }; + if ($@) { + print STDERR "failed to syslog: $@" unless $log_failed; + $log_failed=1; + print STDERR "@_\n"; + } + return $@; } elsif (! $config{cgi}) { return print "@_\n"; -- cgit v1.2.3 From 2a143bfd0be3f286249a19304bb908e3b0d63cc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= Date: Sat, 7 Sep 2013 18:50:53 -0400 Subject: don't edit config setting, but a temporary variable, complete and unbreak tests --- IkiWiki.pm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'IkiWiki.pm') diff --git a/IkiWiki.pm b/IkiWiki.pm index 2c0b1153c..86c850811 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -740,7 +740,10 @@ sub log_message ($$) { $log_open=1; } eval { - Sys::Syslog::syslog($type, "[$config{wikiname}] %s", join(" ", @_)); + # keep a copy to avoid editing the original config repeatedly + my $wikiname = $config{wikiname}; + utf8::encode($wikiname); + Sys::Syslog::syslog($type, "[$wikiname] %s", join(" ", @_)); }; if ($@) { print STDERR "failed to syslog: $@" unless $log_failed; -- cgit v1.2.3