* Add --syslog config option, to log to the syslog.
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Wed, 16 Aug 2006 21:17:49 +0000 (21:17 +0000)
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Wed, 16 Aug 2006 21:17:49 +0000 (21:17 +0000)
IkiWiki.pm
debian/changelog
doc/ikiwiki.setup
doc/usage.mdwn
ikiwiki.pl

index 560647e067f224bd62d2c9cd49b9c17359933b9f..4fc37110b95940a1340d721b6a6e93e17813f0d1 100644 (file)
@@ -21,6 +21,7 @@ sub defaultconfig () { #{{{
        wiki_processor_regexp => qr/\[\[(\w+)\s+([^\]]*)\]\]/,
        wiki_file_regexp => qr/(^[-[:alnum:]_.:\/+]+$)/,
        verbose => 0,
        wiki_processor_regexp => qr/\[\[(\w+)\s+([^\]]*)\]\]/,
        wiki_file_regexp => qr/(^[-[:alnum:]_.:\/+]+$)/,
        verbose => 0,
+       syslog => 0,
        wikiname => "wiki",
        default_pageext => "mdwn",
        cgi => 0,
        wikiname => "wiki",
        default_pageext => "mdwn",
        cgi => 0,
@@ -119,12 +120,31 @@ sub error ($) { #{{{
                print "Content-type: text/html\n\n";
                print misctemplate("Error", "<p>Error: @_</p>");
        }
                print "Content-type: text/html\n\n";
                print misctemplate("Error", "<p>Error: @_</p>");
        }
-       die @_;
+       log_message(error => @_);
+       exit(1);
 } #}}}
 
 sub debug ($) { #{{{
        return unless $config{verbose};
 } #}}}
 
 sub debug ($) { #{{{
        return unless $config{verbose};
-       if (! $config{cgi}) {
+       log_message(debug => @_);
+} #}}}
+
+my $log_open=0;
+sub log_message ($$) { #{{{
+       my $type=shift;
+
+       if ($config{syslog}) {
+               require Sys::Syslog;
+               unless ($log_open) {
+                       Sys::Syslog::setlogsock('unix');
+                       Sys::Syslog::openlog('ikiwiki', '', 'user');
+                       $log_open=1;
+               }
+               eval {
+                       Sys::Syslog::syslog($type, join(" ", @_));
+               }
+       }
+       elsif (! $config{cgi}) {
                print "@_\n";
        }
        else {
                print "@_\n";
        }
        else {
index 2bf2665c717a86067b6b543d69a1855756af4ed9..7ed15dcb191f08f82ffe902da2ac131ab973a8d5 100644 (file)
@@ -3,8 +3,9 @@ ikiwiki (1.20) UNRELEASED; urgency=low
   * Relicense the templates and basewiki under the 2-clause BSD license.
     Since these can easily become part of other people's websites, they
     should be under as permissive a license as possible.
   * Relicense the templates and basewiki under the 2-clause BSD license.
     Since these can easily become part of other people's websites, they
     should be under as permissive a license as possible.
+  * Add --syslog config option, to log to the syslog.
 
 
- -- Joey Hess <joeyh@debian.org>  Wed, 16 Aug 2006 16:30:44 -0400
+ -- Joey Hess <joeyh@debian.org>  Wed, 16 Aug 2006 17:07:35 -0400
 
 ikiwiki (1.19) unstable; urgency=low
 
 
 ikiwiki (1.19) unstable; urgency=low
 
index bef858d5b34df9c7072bef7a9d3c2ef0728c4e2a..e149912994010d4beab2f98938bcc84b93b8d78a 100644 (file)
@@ -74,6 +74,9 @@ use IkiWiki::Setup::Standard {
        #timeformat => '%c',
        # Locale to use. Must be a UTF-8 locale.
        #locale => 'en_US.UTF-8',
        #timeformat => '%c',
        # Locale to use. Must be a UTF-8 locale.
        #locale => 'en_US.UTF-8',
+       # Logging settings:
+       verbose => 0,
+       syslog => 0,
        
        # To add plugins, list them here.
        #add_plugins => [qw{meta tag pagecount brokenlinks search smiley
        
        # To add plugins, list them here.
        #add_plugins => [qw{meta tag pagecount brokenlinks search smiley
index 048072df60d5c2f2c2fcca5e673661c0258b6ff3..e0c7800d5928a091e37f0224cca470bf8f9be6f8 100644 (file)
@@ -212,10 +212,14 @@ configuration options of their own.
   Specify how to display the time or date. The format string is passed to the
   strftime(3) function.
 
   Specify how to display the time or date. The format string is passed to the
   strftime(3) function.
 
-* --verbose
+* --verbose, --no-verbose
 
   Be vebose about what is being done.
 
 
   Be vebose about what is being done.
 
+* --syslog, --no-syslog
+
+  Log to syslog.
+
 * --w3mmode, --no-w3mmode
 
   Enable [[w3mmode]], which allows w3m to use ikiwiki as a local CGI script,
 * --w3mmode, --no-w3mmode
 
   Enable [[w3mmode]], which allows w3m to use ikiwiki as a local CGI script,
index fd9300fbabed31f31413ab7efd6fb044e3ea11ad..c9b53a03181f3787aa13106ea2f9bf7033834206 100755 (executable)
@@ -23,6 +23,7 @@ sub getconfig () { #{{{
                        "setup|s=s" => \$config{setup},
                        "wikiname=s" => \$config{wikiname},
                        "verbose|v!" => \$config{verbose},
                        "setup|s=s" => \$config{setup},
                        "wikiname=s" => \$config{wikiname},
                        "verbose|v!" => \$config{verbose},
+                       "syslog!" => \$config{syslog},
                        "rebuild!" => \$config{rebuild},
                        "refresh!" => \$config{refresh},
                        "wrappers!" => \$config{wrappers},
                        "rebuild!" => \$config{rebuild},
                        "refresh!" => \$config{refresh},
                        "wrappers!" => \$config{wrappers},