diff -ruN dcron/defs.h dcron-syslog/defs.h
--- dcron/defs.h	2002-12-17 21:06:51.000000000 +0100
+++ dcron-syslog/defs.h	2005-07-22 20:45:48.000000000 +0200
@@ -21,6 +21,7 @@
 #include <sys/wait.h>
 #include <sys/stat.h>
 #include <sys/resource.h>
+#include <syslog.h>
 
 #define Prototype extern
 #define arysize(ary)	(sizeof(ary)/sizeof((ary)[0]))
diff -ruN dcron/main.c dcron-syslog/main.c
--- dcron/main.c	2002-12-17 21:05:44.000000000 +0100
+++ dcron-syslog/main.c	2005-07-22 20:45:48.000000000 +0200
@@ -95,6 +95,8 @@
     fclose(stdin);
     fclose(stdout);
 
+    openlog("dcron", LOG_NDELAY|LOG_CONS, LOG_DAEMON);
+
     i = open("/dev/null", O_RDWR);
     if (i < 0) {
         perror("open: /dev/null:");
diff -ruN dcron/subs.c dcron-syslog/subs.c
--- dcron/subs.c	1999-02-10 07:31:46.000000000 +0100
+++ dcron-syslog/subs.c	2005-07-22 20:50:24.000000000 +0200
@@ -14,7 +14,6 @@
 Prototype void fdprintf(int fd, const char *ctl, ...);
 Prototype int ChangeUser(const char *user, short dochdir);
 Prototype void vlog(int level, int fd, const char *ctl, va_list va);
-Prototype int slog(char *buf, const char *ctl, int nmax, va_list va, short useDate);
 
 void 
 log9(const char *ctl, ...)
@@ -61,30 +60,12 @@
 void
 vlog(int level, int fd, const char *ctl, va_list va)
 {
-    char buf[2048];
-    short n;
-    static short useDate = 1;
-
     if (level >= LogLevel) {
-        write(fd, buf, n = slog(buf, ctl, sizeof(buf), va, useDate));
-	useDate = (n && buf[n-1] == '\n');
+        vsyslog(LOG_DAEMON|LOG_NOTICE, ctl, va);
     }
 }
 
 int
-slog(char *buf, const char *ctl, int nmax, va_list va, short useDate)
-{
-    time_t t = time(NULL);
-    struct tm *tp = localtime(&t);
-
-    buf[0] = 0;
-    if (useDate)
-	strftime(buf, 128, "%d-%b-%y %H:%M  ", tp);
-    vsnprintf(buf + strlen(buf), nmax, ctl, va);
-    return(strlen(buf));
-}
-
-int
 ChangeUser(const char *user, short dochdir)
 {
     struct passwd *pas;

