diff --git a/files/syslog/etc/rsyslog.d/90-local.conf b/files/syslog/etc/rsyslog.d/90-local-default.conf
similarity index 100%
rename from files/syslog/etc/rsyslog.d/90-local.conf
rename to files/syslog/etc/rsyslog.d/90-local-default.conf
diff --git a/manifests/syslog.pp b/manifests/syslog.pp
index 7d724ec0afe0349774d4678c698a0d05c8be7686..ae1eaf4c178bceb9da5dacedb08525b3662f2fde 100644
--- a/manifests/syslog.pp
+++ b/manifests/syslog.pp
@@ -1,3 +1,21 @@
+##############################################################################
+# Base syslog support
+##############################################################################
+#
+# This module uses rsyslog where possible otherwise syslog is used.
+#
+# The default rsyslog support preserves the use of /etc/syslog.conf.
+# The two most common overrides to this function are to not use
+# /etc/syslog.conf configuration and to not use the default configuration
+# that writes to /var/log/messages.  For example:
+#
+#  class s_ldap::conf::syslog-dev inherits base::syslog {
+#    Base::Syslog::Config::Rsyslog['/etc/rsyslog.conf'] {
+#      use_syslog_conf => false,
+#      use_default     => false,
+#    }
+#  }
+#
 #
 # Notes:
 # * the newsyslog service is responsible for ensuring the file permissions
diff --git a/manifests/syslog/config/rsyslog.pp b/manifests/syslog/config/rsyslog.pp
index 6ef9564d50bd31fce51d7d49bc7b1f49782dda27..4ba695e2ddacceeb15f0cf08c862db1b2c01322d 100644
--- a/manifests/syslog/config/rsyslog.pp
+++ b/manifests/syslog/config/rsyslog.pp
@@ -1,22 +1,35 @@
-# create rsyslog.conf
+##############################################################################
+# Create rsyslog.conf
+##############################################################################
+#
+# This define is used by the base::syslog module.
 
 define base::syslog::config::rsyslog(
-    $ensure          = 'present',
-    $source          = undef,
-    $owner           = 'root',
-    $group           = 'root',
-    $mode            = '0644',
-    $replace         = true,
-    $use_syslog_conf = true,
+  $ensure          = 'present',
+  $source          = undef,
+  $owner           = 'root',
+  $group           = 'root',
+  $mode            = '0644',
+  $replace         = true,
+  $use_syslog_conf = true,
+  $use_default     = true,
 ) {
 
-  if !$use_syslog_conf {
-    file {'/etc/rsyslog.d/90-local.conf':
-      ensure  => present,
-      source  => 'puppet:///modules/base/syslog/etc/rsyslog.d/90-local.conf',
-      owner   => $owner,
-      group   => $group,
-      mode    => $mode;
+  if !$use_syslog_conf and $use_default {
+    if $use_default {
+      file {'/etc/rsyslog.d/90-local-default.conf':
+        ensure  => present,
+        source  => 'puppet:///modules/base/syslog/etc/rsyslog.d/90-local-default.conf',
+        owner   => $owner,
+        group   => $group,
+        mode    => $mode,
+        notify  => Service['syslog'],
+      }
+    } else {
+      file {'/etc/rsyslog.d/90-local-default.conf':
+        ensure  => absent,
+        notify  => Service['syslog'],
+      }
     }
   }
 
diff --git a/manifests/syslog/fragment.pp b/manifests/syslog/fragment.pp
index c2defead38aaca36149df4474454f5eff0bba631..d71f4616ca82701af2a9c49cd77ca0c8c366cdbd 100644
--- a/manifests/syslog/fragment.pp
+++ b/manifests/syslog/fragment.pp
@@ -21,7 +21,7 @@
 #      ensure => present;
 #    '95-local.conf':
 #      ensure => present,
-#      source => 'puppet:///modules/s_audit/etc/rsyslog.d/95-local.conf',
+#      source => 'puppet:///modules/s_audit/etc/rsyslog.d/95-local.conf';
 #  }
 
 define base::syslog::fragment(