Use syslog facility when irkerd is backgtrounded and no -l was given.
authorEric S. Raymond <esr@thyrsus.com>
Sat, 31 May 2014 13:24:09 +0000 (09:24 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Sat, 31 May 2014 13:24:09 +0000 (09:24 -0400)
NEWS
irkerd
irkerd.xml

diff --git a/NEWS b/NEWS
index cddd917d14af3a2a7c3cda891ecab9a52c4f3524..472573d60f0d283fc5abc87bc782be8ed2a8159e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,8 @@
                        irker history 
 
+Repository head:
+  If irkerd is running in background, log to /dev/syslog (facility daemon).
+
 2.8: 2014-05-30
   Various minor improvements to irk.
   Cope better with branch names containing slashes.
diff --git a/irkerd b/irkerd
index 9e51549639c1c4cb9f5194695445970ebae1b8c9..f7adadc414f047001b8c4d1c70ab2ae54d7a6e2d 100755 (executable)
--- a/irkerd
+++ b/irkerd
@@ -42,8 +42,10 @@ CONNECTION_MAX = 200         # To avoid hitting a thread limit
 
 version = "2.8"
 
+import os
 import argparse
 import logging
+import logging.handlers
 import json
 try:  # Python 3
     import queue
@@ -933,6 +935,9 @@ class IrkerUDPHandler(socketserver.BaseRequestHandler):
             line = UNICODE_TYPE(line, 'utf-8')
         irker.handle(line=line.strip())
 
+def in_background():
+    "Is this process running in background?"
+    return os.getpgrp() !=  os.tcgetpgrp(1)
 
 if __name__ == '__main__':
     parser = argparse.ArgumentParser(
@@ -965,7 +970,12 @@ if __name__ == '__main__':
         help='message for --immediate mode')
     args = parser.parse_args()
 
-    handler = logging.StreamHandler()
+    if not args.log_file and in_background():
+        handler = logging.handlers.SysLogHandler(address='/dev/log',
+                                                 facility='daemon')
+    else:
+        handler = logging.StreamHandler()
+
     LOG.addHandler(handler)
     if args.log_level:
         log_level = getattr(logging, args.log_level.upper())
index caf36af532aa6cdb648b3936b9add8a04cf60773..d9de17fe418f6c8e0c12299898a6d9f368a0ffd9 100644 (file)
@@ -108,8 +108,9 @@ joining a channel to log its traffic.</para>
 <variablelist>
 <varlistentry>
 <term>-d</term>
-<listitem><para>Takes a following value, setting the debugging level from
-it. This option will generally only be of interest to developers;
+<listitem><para>Takes a following value, setting the debugging level
+from it; possible values are 'critical', 'error', 'warning', 'info',
+'debug'. This option will generally only be of interest to developers;
 consult the source code for details.</para></listitem>
 </varlistentry>
 <varlistentry>
@@ -149,6 +150,10 @@ terminate.</para></listitem>
 </varlistentry>
 </variablelist>
 
+<para>If no <option>-l</option> is set, logging will be to stndard
+output (if <application>irkerd</application> is running in foreground)
+or to /dev/syslog with facility "daemon" (if
+<application>irkerd</application> is running in packground).</para>
 </refsect1>
 
 <refsect1 id='limitations'><title>LIMITATIONS</title>